Jak mogę programowo otworzyć nowe okno CMD, które uruchamia powłokę linuksową podsystemu i wykonać skrypt?

-1

Chciałbym osiągnąć coś takiego:

cmd /K /IN-NEW-WINDOW C:\Windows\System32\bash.exe -- /bin/script.sh
  1. otwórz nowe okno CMD,
  2. który uruchamia powłokę WSL i
  3. wykonuje polecenie
ofiarować
źródło
Chodzi o pytanie ... to, jak daleko doszedłem początkowo. Dziękuję za głosowanie w dół; D
wręczono

Odpowiedzi:

0

Umieść to w pliku wsadowym (np. open-cmds.bat)

start C:\Windows\System32\bash.exe -i -c 'cd ~/; ./my-script.sh'

Dodałem ten cd ~/przykład w celu podkreślenia, że ​​uruchomienie powłoki od cmdpowoduje, że ma ona inną lokalizację początkową, tj/mnt/c/...

Jeśli potrzebujesz więcej niż powłoki bash (pliki binarne aplikacji, profil bash itp.) Chcesz zacząć od uruchomienia jej jako powłoki logowania.

start C:\Windows\System32\bash.exe -l -c './my-script.sh'
ofiarować
źródło
2
Nie nazywaj tego start.bat, może to spowodować nieskończoną rekurencję.
Maximus
2
Ponadto cmd /Kjest niepotrzebny i -coczekuje się, że będzie później -l .
Maximus
zaktualizowano w celu uwzględnienia ulepszeń w komentarzach
podarowano