- Chris Hoffman
@chrisbhoffman
- actualizat la 7 martie 2018, 2:31PM EDT
odată cu sosirea shell-ului bash Windows 10, acum Puteți crea și rula scripturi bash shell pe Windows 10. De asemenea, puteți încorpora comenzile Bash într-un fișier batch Windows sau script PowerShell.
chiar dacă știi ce faci, acest lucru nu este neapărat atât de simplu pe cât pare. Windows și UNIX utilizează caractere diferite de sfârșit de linie, iar sistemul de fișiere Windows este accesibil într-o altă locație din mediul Bash.
cum se scrie un Script Bash pe Windows 10
RELATED: cum se instalează și se utilizează Shell-ul Linux Bash pe Windows 10
când scrieți scripturi shell pe Windows, rețineți că sistemele Windows și UNIX, cum ar fi Linux, utilizează caractere diferite „end of line” în fișierele text din scripturile shell.
cu alte cuvinte, aceasta înseamnă că nu puteți scrie pur și simplu un script 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 caractere Unix end-of-line făcând clic pe Editare > conversie EOL > format Unix/OSX.
cu toate acestea, este mai bine să scrieți scriptul shell în mediul Bash în sine. Mediul Bash bazat pe Ubuntu vine atât cu editorii de text vi, cât și cu nano. Editorul vi este mai puternic, dar dacă nu l-ați folosit niciodată, 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, executați următoarea comandă în bash:
nano ~/myscript.sh
aceasta ar deschide Editorul de text Nano îndreptat către 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.)
începeți scriptul shell cu linia:
#!/bin/bash
RELATED: Ghidul începătorului pentru Shell Scripting: elementele de bază
introduceți comenzile pe care doriți să le rulați, fiecare pe propria linie. Scriptul va rula fiecare comandă pe rând. Adăugați un caracter ” # „înaintea unei linii pentru a-l trata ca pe un” comentariu”, ceva care vă ajută pe dvs. și pe alți oameni să înțelegeți scriptul, dar care nu este rulat ca o comandă. Pentru trucuri mai avansate, consultați un ghid mai detaliat pentru scripturile 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. Sunteți limitat la comenzile și utilitățile terminalului Linux, la fel cum ați fi pe un sistem tipic Linux.
de exemplu, să folosim un script de bază „hello world” ca exemplu aici:
#!/bin/bash # set the STRING variable STRING="Hello World!" # print the contents of the variable on screen echo $STRING
Dacă utilizați editorul de text Nano, puteți salva fișierul apăsând Ctrl+O și apoi Enter. Închideți editorul apăsând Ctrl + X.
Faceți scriptul executabil și apoi rulați-l
probabil că veți dori să faceți scriptul executabil, astfel încât să îl puteți rula mai ușor. Pe Linux, asta înseamnă că trebuie să acordați fișierului script permisiunea executabilă. Pentru a face acest lucru, executați următoarea comandă în terminal, îndreptându-l spre scriptul dvs.:
chmod +x ~/myscript.sh
pentru a rula scriptul, acum îl puteți rula doar în terminal tastând calea acestuia. 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 este în directorul curent, îl puteți rula cu ./myscript.sh)
cum să lucrați cu fișierele Windows într-un Script Bash
înrudit: cum să accesați fișierele Ubuntu Bash în Windows (și unitatea de sistem Windows în Bash)
pentru a accesa fișierele Windows din script, va trebui să specificați calea lor sub/mnt / c, nu calea lor Windows. De exemplu, dacă doriți să specificați C:\Utilizatori \ Bob \ descărcări \ test.fișier txt, va trebui să specificați /mnt/C/Users/Bob/Downloads/test.calea txt. Consultați ghidul nostru pentru locațiile fișierelor din shell-ul Bash Windows 10 pentru mai multe detalii.
cum să încorporați comenzile Bash într-un Script Batch sau PowerShell
înrudit: cum să setați distribuția Linux implicită pe Windows 10
în cele din urmă, dacă aveți un fișier batch existent sau un script PowerShell în care doriți să încorporați comenzi, puteți rula comenzi Bash direct folosind comandabash -c
.
de exemplu, pentru a rula o comandă Linux într-un Prompt de comandă sau o fereastră PowerShell, puteți rula următoarea comandă:
bash -c "command"
acest truc vă permite să adăugați comenzi Bash în fișiere batch sau scripturi PowerShell. Fereastra shell Bash va apărea atunci când se execută o comandă Bash.
actualizare: dacă aveți mai multe medii Linux instalate, puteți utiliza comanda wslconfig pentru a alege mediul Linux implicit utilizat atunci când executați comandabash -c
.
pentru a crea o scurtătură către un script Bash din Windows, trebuie doar să creați o scurtătură ca cea normală. Pentru ținta comenzii rapide, Utilizați comanda bash -c
pe care am prezentat-o mai sus și îndreptați-o spre scriptul Bash pe care l-ați creat.
de exemplu, ați îndrepta o comandă rapidă la ” bash -c "~/myscript.sh"
” pentru a rula scriptul de exemplu de mai sus. De asemenea, puteți rula această comandă dintr-un Prompt de comandă sau o fereastră PowerShell.Chris Hoffman este redactor-șef la How-To Geek. A scris despre tehnologie de peste un deceniu și a fost cronicar PCWorld timp de doi ani. Chris a scris pentru New York Times, a fost intervievat ca expert în tehnologie la posturi de televiziune precum NBC 6 din Miami și și-a acoperit munca de știri precum BBC. Din 2011, Chris a scris peste 2.000 de articole care au fost citite de aproape un miliard de ori-și asta este doar aici la How-To Geek.Citește Bio complet ”