Skojarz skrypty powłoki .SH z Bash w Windows 10

2018-12-30 10:48:31
Główny·Microsoft·Skojarz skrypty powłoki .SH z Bash w Windows 10

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

Wybór Redakcji