Odată cu sosirea cofrajului Bash Windows 10, puteți crea și executa script-uri de shell Bash pe Windows 10. De asemenea, aveți posibilitatea să includeți comenzile Bash într-un fișier batch Windows sau într-un script PowerShell.
Chiar dacă știți ce faceți, acest lucru nu este neapărat la fel de simplu cum pare. Windows și UNIX utilizează diferite caractere de la sfârșitul liniei, iar sistemul de fișiere Windows este accesibil într-o locație diferită în mediul Bash.
Atunci când scrii scripturi pe Windows, ține cont de faptul că sistemele Windows și UNIX, cum ar fi Linux, folosesc diferite caractere "de sfârșit de linie" în fișiere text în scripturile shell.
Cu alte cuvinte, aceasta înseamnă că nu puteți scrie un script de shell în Notepad. Salvați fișierul în Notepad și nu va fi interpretat corect de Bash. Cu toate acestea, puteți utiliza editori de text mai avansați - de exemplu, Notepad ++ vă permite să dați un fișier UNIX de sfârșit de linie făcând clic pe Edit> EOL Conversion> UNIX / OSX Format.
Cu toate acestea, e mai bine să scrieți doar scriptul shell în mediul Bash în sine. Mediul Bash bazat pe Ubuntu vine cu editorii de fișiere vi și nano. Editorul vi este mai puternic, dar dacă nu l-ați folosit niciodată înainte, poate doriți să începeți cu nano. Este mai ușor de utilizat dacă sunteți nou.
De exemplu, pentru a crea un script bash în nano, ați executa următoarea comandă în bash:
nano ~ / myscript.sh
Acest lucru ar deschide editorul de text Nano indicat la un fișier numit "myscript.sh" în directorul de acasă al contului dvs. de utilizator. (Caracterul "~" reprezintă directorul de acasă, astfel încât calea completă este /home/username/myscript.sh.)
Porniți scriptul dvs. shell cu linia:
#! / Bin / bash
Introduceți comenzile pe care doriți să le executați, fiecare pe propria linie. Scriptul va rula fiecare comandă la rândul său. Adăugați un caracter "#" înaintea unei linii pentru al trata ca un "comentariu", ceea ce vă ajută și pe alți oameni să înțeleagă scriptul, dar care nu este rulat ca o comandă. Pentru trucuri mai avansate, consultați un ghid mai detaliat al scripturilor Bash pe Linux. Aceleași tehnici vor funcționa în Bash pe Ubuntu pe Windows.
Rețineți că nu există nicio modalitate de a rula programe Windows din mediul Bash. Ești limitat la comenzile și utilitarele terminalului Linux, la fel cum ai fi la un sistem tipic Linux.
De exemplu, să folosim doar un script de bază "hello world" ca exemplu aici:
#! / bin / bash # setați variabila STRING STRING = "Hello World!" # tipăriți conținutul variabilei pe ecran ecou $ STRING
Dacă utilizați editorul de text Nano, puteți salva fișierul apăsând pe Ctrl + O și apoi pe Enter. Închideți editorul apăsând pe Ctrl + X.
Veți dori probabil să faceți scriptul executabil, astfel încât să îl puteți rula mai ușor. Pe Linux, asta înseamnă că trebuie să dai fișierul script permisiunea executabilă. Pentru a face acest lucru, executați următoarea comandă în terminal, indicând-o la scriptul dvs.:
chmod + x ~ / myscript.sh
Pentru a rula scriptul, acum îl puteți rula în terminal introducând calea sa. Ori de câte ori doriți să lansați scriptul în viitor, trebuie doar să deschideți shell-ul Bash și să tastați calea către script.
~ / Myscript.sh
(Dacă scriptul se află în directorul curent, îl puteți rula cu ./myscript.sh)
Pentru a accesa fișierele Windows în script, va trebui să specificați calea lor în / mnt / c, nu calea Windows. De exemplu, dacă doriți să specificați fișierul C: \ Users \ Bob \ Downloads \ test.txt, va trebui să specificați calea /mnt/c/Users/Bob/Downloads/test.txt. Consultați ghidul nostru pentru locațiile fișierelor în shell-ul Bash Windows 10 pentru mai multe detalii.
În cele din urmă, dacă aveți un fișier batch existent sau script PowerShell pe care doriți să includeți comenzi, puteți rula direct comenzile Bash utilizând bash -c
comanda.
De exemplu, pentru a rula o comandă Linux într-o fereastră Command Prompt sau PowerShell, puteți executa următoarea comandă:
bash -c "comanda"
Acest truc vă permite să adăugați comenzi Bash în fișiere batch sau scripturi PowerShell. Fereastra Bash shell va apărea când rulează o comandă Bash.
Actualizați: Dacă aveți mai multe medii Linux instalate, puteți utiliza comanda wslconfig pentru a alege mediul implicit Linux utilizat când executați bash -c
comanda.
Pentru a crea o comandă rapidă către un script Bash din Windows, trebuie doar să creați o scurtătură ca în mod normal. Pentru destinația comenzii rapide, utilizați bash -c
comanda pe care am subliniat-o mai sus și indicăm-o la scriptul Bash pe care l-ați creat.
De exemplu, ați indicat o comandă rapidă la " bash -c "~ / myscript.sh"
"Pentru a rula scriptul de mai sus. De asemenea, puteți rula această comandă și dintr-o fereastră de comandă sau PowerShell.