Jeśli zainstalowałeś Bash na Ubuntu na Windowsie w Windows 10 w wersji 1607 i wyższej i chcesz skojarzyć skrypty powłoki SH z Bash, oto szybkie rozwiązanie skryptu.
Aby uzyskać dostęp do ścieżki systemu plików Windows w Bash, użyj następującej składni lub semantyki:
/mnt/c/Windows/MyTasks.sh
Napisałem mały skrypt Vbscript, który konwertuje ścieżkę pliku systemu Windows, taką jak C:\Windows\MyTasks.sh
, na ścieżkę systemu plików * NIX. Następnie skrypt uruchamia Bash, przekazując ścieżkę do pliku * NIX jako argument. Skrypt ten można powiązać z typami plików .SH za pomocą dostarczonej z nim edycji rejestru.
Ściągnij
Pobierz bash_sh_assoc.zip, rozpakuj i uruchom załączony plik REG. Następnie przenieś plik skryptu bash.vbs
do katalogu Windows. Powoduje to skojarzenie typów plików .SH z plikiem skryptu bash.vbs.
Zawartość pliku 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
Zawartość pliku 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\""
Powiązany post
Dodaj Bash do menu prawym przyciskiem myszy dla folderów w Windows 10