Перейти к содержанию

Свяжите сценарии оболочки .SH с Bash в Windows 10

Если вы установили Bash на Ubuntu в Windows в Windows 10 версии 1607 и выше и хотите связать сценарии оболочки .SH с Bash, вот быстрое решение сценария.if(typeof __ez_fad_position!=’undefined’){__ez_fad_position(‘div-gpt-ad-winhelponline_com-medrectangle-3-0′)};if(typeof __ez_fad_position!=’undefined’){__ez_fad_position(‘div-gpt-ad-winhelponline_com-box-3-0’)};

Чтобы получить доступ к пути к файловой системе Windows в Bash, вы используете следующий синтаксис или семантику:

/mnt/c/Windows/MyTasks.sh

Я написал небольшой сценарий Vbscript, который преобразует путь к файлу Windows, например C: \ Windows \ MyTasks.sh, к пути к файловой системе * NIX. Затем сценарий запускает Bash, передавая в качестве аргумента путь к файлу * NIX. Этот сценарий можно связать с типами файлов .SH с помощью правки реестра, предоставленной здесь.

Скачать

Загрузите bash_sh_assoc.zip, разархивируйте и запустите прилагаемый REG-файл. Затем переместите файл сценария bash.vbs в каталог Windows. Это связывает типы файлов .SH с файлом сценария bash.vbs.

Содержимое файла Vbscript Bash.vbs

Если WScript.arguments.count 0, то sSHfile = WScript.Arguments (0) Если LCase (Right (sSHfile, 3)) = ".sh" Тогда Тусклый WshShell: установите WshShell = WScript.CreateObject ("Wscript.Shell") PathArr = Разделить (sSHfile, ":") sSHfile = "/ mnt /" & LCase (PathArr (0)) & PathArr (1) sSHfile = Заменить (sSHfile, "\", "/") WshShell.Run "% systemroot% \ system32 \ bash.exe" & "" "" & sSHfile & "" "" ,, True Установите WshShell = Nothing Конец, если Конец, если

Содержание файла REG

Редактор реестра Windows версии 5.00
[HKEY_CLASSES_ROOT \ .sh] @ = "файл"
[HKEY_CLASSES_ROOT \ shfile] @ = "Файл сценария SH"
[HKEY_CLASSES_ROOT \ shfile \ defaulticon] @ = "% USERPROFILE% \ AppData \ Local \ lxss \ bash.ico"
[HKEY_CLASSES_ROOT \ shfile \ shell \ open \ command] @ = "wscript.exe \" C: \ Windows \ bash.vbs \ "\"% 1 \ "" 

Связанный пост

Добавить Bash в контекстное меню для папок в Windows 10if(typeof __ez_fad_position!=’undefined’){__ez_fad_position(‘div-gpt-ad-winhelponline_com-box-4-0’)};

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *