Cum se creează și se execută scripturile Bash Shell pe Windows 10
Odată cu sosirea cofrajului Bash de Windows 10, acum puteți crea și executa scripturi de shell Bash pe Windows 10. De asemenea, puteți incorpora 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 altă locație în mediul Bash.
Cum se scrie un script Bash pe Windows 10
Când scrii scripturile shell pe Windows, rețineți că sistemele Windows și UNIX precum 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 editoare de text mai avansate - 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 dvs. de domiciliu, 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 mai multe trucuri 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.
Faceți executabil Script și apoi executați
Veți dori, probabil, să faceți scriptul executabil astfel încât să îl puteți rula mai ușor. Pe Linux, î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)
Cum se lucrează cu fișierele Windows într-un script Bash
Pentru a accesa fișierele Windows în script, va trebui să specificați calea lor sub / 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.
Cum să încorporați comenzile Bash într-un script Batch sau PowerShell
Î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 executa comenzile Bash direct 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 shell Bash 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 rulați bash -c
comanda.
Pentru a crea o comandă rapidă către un script Bash din Windows, creați o scurtătură ca în mod normal. Pentru destinația de comenzi rapide, utilizați bash -c
comanda pe care am subliniat-o mai sus și indicați-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.