Pagina principala » HOWTO » Cum să executați comenzi Linux din afara Shell-ului Bash pe Windows 10

    Cum să executați comenzi Linux din afara Shell-ului Bash pe Windows 10

    Windows 10 include un subsistem "Windows Subsystem for Linux" care rulează aplicații Linux, dar este accesibil numai prin shell-ul Bash. Cu toate acestea, există o modalitate de a rula aplicațiile Linux fără a lansa mai întâi o fereastră Bash.

    Acest lucru este posibil datorită bash -c comanda. Utilizați-l pentru a rula comenzile Linux prin Command Prompt și PowerShell sau chiar crea o comandă rapidă pe desktop care rulează o comandă sau un program Linux când a fost lansată.

    Actualizați: Dacă aveți mai multe medii Linux instalate, puteți utiliza comanda wslconfig pentru a alege mediul implicit Linux. Există, de asemenea, o modalitate de a rula comenzi în medii specifice Linux.

    Cum se execută comenzile Linux în Command Prompt sau PowerShell

    Înainte de a face oricare dintre acestea, va trebui să instalați și să configurați shell-ul Bash Windows 10. După ce faceți acest lucru, puteți deschide o fereastră Prompt Command și puteți executa următoarea comandă pentru a rula software-ul Linux în afara unei ferestre Bash:

    bash -c "comanda"

    De exemplu, să presupunem că doriți să instalați pachetul emacs prin apt-get. Ați rula următoarea comandă într-o fereastră de comandă:

    bash -c "sudo apt-get instala emacs"

    Când utilizați bash -c, Windows va lansa o coajă Bash în fundal și va transmite comanda la ea. Comanda va rula până când se termină și apoi va ieși, împreună cu shell-ul Bash. Orice ieșire terminală a comenzii actuale va apărea direct în fereastra Prompt Command, mai degrabă decât o fereastră separate Bash shell.

    Acest truc vă permite, de asemenea, să executați comenzi Linux în PowerShell, la fel cum ați executa un executabil normal Windows. Puteți face acest lucru executând direct fișierul .exe ca și cum ați fi într-o fereastră Prompt comandă, sau prin orice altă metodă pentru executarea executabile în PowerShell.

    bash -c "uname -a"

    Ca și în cazul unei ferestre de comandă, ieșirea comenzii va apărea direct în PowerShell. Aceste metode pot fi folosite pentru a adăuga comenzi Linux la un fișier batch sau la un script PowerShell.

    Cum se execută comenzi Linux din meniul Run sau din meniul Start

    Acest truc funcționează și pentru rularea comenzilor din dialogul Executare, din meniul Start sau din orice lansator de aplicații terță parte.

    De exemplu, pentru a lansa vi din dialogul Executare, apăsați Windows + R de pe tastatură și executați următoarea comandă:

    bach -c "vi"

    Editorul de text vi va apărea în fereastra proprie.

    Acest lucru funcționează, de asemenea, pentru meniul Start, astfel încât să puteți tasta aceeași comandă direct în meniul Start și apăsați Enter pentru ao executa ca o comandă.

    Cum se execută comenzi Linux cu o comandă rapidă de pe desktop

    bash -c de asemenea, permite lansarea aplicațiilor Linux prin intermediul unei comenzi rapide de pe desktop. De exemplu, să presupunem că doriți să lansați editorul de text vi printr-o comandă rapidă pe desktop. Ați făcut clic dreapta pe desktop, indicați spre New> New Shortcut și introduceți următoarea destinație:

    bash -c "vi"

    Acum puteți salva comanda rapidă și va lansa vi când faceți dublu clic pe el.

    În mod interesant, acest truc funcționează, de asemenea, pentru lansarea aplicațiilor grafice Linux de pe o comandă rapidă de pe desktop. Instalați un server X și configurați aplicații desktop grafice Linux. Ar trebui să puteți crea comenzi rapide pentru a le lansa direct.

    Cu toate acestea, va trebui să le lansați astfel:

    bash -c "DISPLAY =: 0 comanda"

    În timp ce puteți lansa comenzi Bash din alte părți ale Windows, nu există nicio modalitate de a rula software-ul Windows sau executabile direct dintr-o fereastră shell Bash.