(#!/ bin / bash) ce este mai exact asta ?

această primă linie (#!/ bin / bash sau #!/ bin / sh) are un nume. Este cunoscut sub numele de she-bang(shabang). Acest lucru derivă din concatenarea jetoanelor sharp ( # ) și bang (!). Este, de asemenea, numit ca SH-bang, hashbang, poundbang sau hash-pling. În calcul, un she-bang este secvența de caractere constând din semnul numărului de caractere și semnul exclamării (#!) la începutul unui scenariu.

/bin/bash VS /bin/sh

am văzut de multe ori varietate de ea-bang sau script antet. De multe ori ne întrebăm de ce este acel script special, folosind că special ea-bang, de ce nu unele altele. Pe sistemele de operare asemănătoare Unix, avem posibilitatea de a alege mai multe shell-uri. Shell-ul este responsabil nu numai pentru micile solicitări, ci și pentru interpretarea comenzilor scriptului. Astfel, învelișul joacă un rol important în special atunci când implementăm logici mari și complexe folosind condiții, țevi, bucle etc.

/bin/sh este un executabil care reprezintă shell-ul sistemului și, de obicei, implementat ca o legătură simbolică care indică executabilul pentru oricare shell este shell-ul sistemului. Shell-ul de sistem este practic shell-ul implicit pe care scriptul ar trebui să îl folosească. În ultimii ani, Debian (și Ubuntu) au decis să schimbe shell — ul sistemului de la bash la dash-un shell similar, dar mai ușor și mult mai rapid.

Dash este destul de bine compatibil cu bash, fiind bazat pe același standard POSIX. Cu toate acestea, nu implementează extensiile specifice bash. POSIX standard este o interfață portabilă a sistemului de Operare, o încercare de standardizare a sistemelor de operare asemănătoare UNIX. Chiar dacă shell-ul sistemului Ubuntu indică dash, shell-ul dvs. de conectare ca utilizator continuă să fie bash în acest moment.

/bin/bash este cel mai comun shell folosit ca shell implicit pentru conectarea utilizatorului sistemului linux. Numele shell-ului este un acronim pentru Bourne-again shell. Bash poate executa marea majoritate a scripturilor și, prin urmare, este utilizat pe scară largă, deoarece are mai multe caracteristici, este bine dezvoltat și o sintaxă mai bună.

CE ESTE ? / DE CE O FOLOSIM?

#!/bin/bash
echo $(date) # Will print the output of date command
touch ~/output.txt
echo "Hey there" > ~/output.txt

să luăm în considerare un script foarte simplu ca mai sus. În orice caz mai simplu, dacă analizăm un script shell, acesta nu este altceva decât o listă de comenzi stocate într-un fișier. Reduce efortul nostru de a rula aceeași sarcină sau comenzi din nou și din nou. Deci, dacă ne uităm la începutul scenariului, prima linie începe cu un hash ( # ) și un semn de exclamare (!). După cum trebuie să știți deja că orice linie care începe cu un hash ( # ) este citită ca un comentariu. Astfel, atunci când executăm scriptul, prima linie este citită ca un comentariu, iar interpretul trece la a doua linie. Dar prima linie și-a făcut deja treaba.

în sistemele de operare asemănătoare Unix atunci când un script începe cu un she-bang(#!) este executat ca un program, Programul loader analizează restul liniei inițiale a scriptului ca interpret-directivă. Astfel, programul de interpretare specificat este rulat în schimb, trecându-i ca argument calea care a fost utilizată inițial prin script.

să presupunem că orice script începe cu următoarea linie:

#!/bin/sh

apoi, încărcătorul de programe este instruit să utilizeze programul /bin/sh în loc de oricare altul, trecând calea scriptului ca prim argument.

în cuvinte simple, she-bang-ul din capul scriptului spune sistemului că acest fișier este un set de comenzi care trebuie alimentate interpretului de comandă indicat. Sisteme de operare Unix-like are varietate de scoici și fiecare dintre liniile de antet script apela un interpret de comandă diferit.

câteva exemple she-bang

#!/bin / sh: execută scriptul folosind shell-ul Bourne sau un shell compatibil, cu path /bin/sh

#!/ bin / bash: execută scriptul folosind shell-ul Bash.

#!/ bin / csh-f: execută scriptul folosind shell-ul C sau un shell compatibil.

#!/ usr / bin / perl-T: execută scriptul folosind perl cu opțiunea de controale taint

#!/ usr/bin / env python :Execută scriptul folosind python căutând calea către interpretul python automat din variabilele de mediu

sperăm că aveți o idee mai bună despre ce este she-bang acum și ce scop servește.

Lasă un răspuns

Adresa ta de email nu va fi publicată.

Previous post un ghid decisiv pentru a găsi cel mai bun zero rândul său, cositoare pentru dealuri
Next post Paulownia cherestea și pre frezate benzi