Если вы установили Bash в Ubuntu в Windows в Windows 10 версии 1607 и выше и хотите связать сценарии оболочки .SH с Bash, вот быстрое решение сценария.
Для доступа к пути файловой системы 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
If WScript.arguments.count 0 then
sSHfile = WScript.Arguments(0)
If LCase(Right(sSHfile, 3)) = ".sh" Then
Dim WshShell: Set WshShell = WScript.CreateObject("Wscript.Shell")
PathArr = Split(sSHfile, ":")
sSHfile = "/mnt/" & LCase(PathArr(0)) & PathArr(1)
sSHfile = Replace(sSHfile,"\","/")
WshShell.Run "%systemroot%\system32\bash.exe " & """" & sSHfile & """",,True
Set WshShell = Nothing
End If
End If
Содержимое файла REG
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\.sh]
@="shfile"
[HKEY_CLASSES_ROOT\shfile]
@="SH Script File"
[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 10