WSL'yi Windows terminalinde programlı olarak başlatma ve komut çalıştırma

Aug 18 2020

bashWindows Terminal içindeki Ubuntu WSL [shell: ] 'yi bir toplu iş dosyasından başlatmak ve başlangıçtan hemen sonra çalışması gereken bir komutu iletmek istiyorum.

  • WSL'yi doğrudan başlatırken, bunu -cargümanı kullanarak yapabilirim ; örneğin, aşağıdaki WSL'yi açar ve bazı yerel bağlantı noktası yönlendirmeleriyle bir SSH bağlantısı kurar:
    bash -c "ssh -L 3306:localhost:3306 -L 5900:localhost:5900 -L 8001:localhost:8001 [email protected]"
    

Bunu Windows Terminal kullanarak nasıl başarabilirim?

Yanıtlar

1 suamikim Aug 18 2020 at 22:19

Şimdiye kadar her ikisi de işe yarayan iki yol buldum:

  1. Özel bir profil oluşturun:
    Bu commandlineseçenek, başlangıçta doğrudan kabuğa iletilen ve wsl.exeek bir "başlatma komutu" ile doğrudan kullanımına izin veren bağımsız değişkenleri de kabul eder :
    {
      "guid": "{...}",
      "hidden": false,
      "name": "Ubuntu SSH",
      "commandline": "wsl.exe ssh -L 3306:localhost:3306 -L 5900:localhost:5900 -L 8001:localhost:8001 [email protected]",
    }
    
    Şimdi kabuğu, aşağıdakileri kullanarak çalışan bir toplu iş dosyası aracılığıyla başlatabilirim; ancak, olumsuz tarafı, yeni profilin Windows Terminal'in Profil Seçim Menüsünde gösterilmesidir :
    wt -p "Ubuntu SSH"
    

  2. Geçiş commandlineiçin wt:
    Seçenek 1 de gösterildiği gibi, commandlineseçenek bir toplu dosyasından denilen aşağıdaki çalışma ile hedef kabuk için daha fazla parametrenin, şunları içerebilir:
    wt wsl.exe ssh -L 3306:localhost:3306 -L 5900:localhost:5900 -L 8001:localhost:8001 [email protected]
    
    Bu eserler, önerileri ayarlayarak nedenini açıklayan herhangi bir resmi çevrimiçi kaynağı bulamadık bu cevap , bu yüzden emin bu bu şekilde çalışması gerekiyordu olmadığını değilim yoksa gelecekteki sürümlerinde kırılabilir bir gizli / kasıtsız özelliği buysa.
harrymc Aug 18 2020 at 16:57

Hata mesajı doğru: Windows Terminal'in bir -cparametresi yok.

Sözdizimi geçerli:

wt [options] [command ; ]

Tek seçenek nerede:

  -h,--help                   Print this help message and exit
  -v,--version                Display the application version
  -M,--maximized Excludes: --fullscreen
                              Launch the window maximized
  -F,--fullscreen Excludes: --maximized
                              Launch the window in fullscreen mode
  -p                          Profile
  -d                          Directory