Cum să creați aliasuri și funcții Shell pe Linux?

vino și după ultima comandă:



nume_funcție () {comandă1; comanda2; }

Alias-uri Lika, funcțiile shell Bash pot fi definite în fișierul „.bashrc”, dar este adesea mai bine să le plasăm în propriul lor fișier de definiții. Îl vom numi „.bash_functions”, urmând convenția utilizată pentru fișierul „.bash_aliases”.

Asta înseamnă că trebuie să spunem fișierului „.bashrc” pentru a citi în definițiile noastre. Putem copia și modifica fragmentul de cod care citește în fișierul „.bash_aliases”. Lansați gedit și încărcați fișierul „.bashrc” cu această comandă:



gedit .bashrc

fișier gedit .bashrc



Trebuie să adăugați secțiunea evidențiată prezentată mai jos.



Puteți evidenția secțiunea alias și apăsați Ctrl + C și apoi treceți la locul în care doriți noua secțiune și apăsați Ctrl + V pentru a lipi o copie a textului. Apoi, tot ce trebuie să faceți este să schimbați cele două locuri în care scrie „.bash_aliases” la „.bash_functions”.

Adăugarea bash_functions în fișierul .bashrc

Putem salva aceste modificări și închide gedit.



Acum vom crea și edita fișierul „.bash_functions” și vom pune o definiție a funcției în el.

atingeți .bash_functions gedit .bash_functions

Crearea și editarea .bash_functions

Aceasta va deschide fișierul „.bash_functions” gol în gedit.

Vom adăuga o funcție simplă apelată. sus va lua un singur parametru de linie de comandă, care este o cifră. sus va apela apoi cd .. de câte ori. Deci, dacă ați folosit comanda

sus 2

sus ar apela cd .. de două ori și ar urca două niveluri în arborele directorului.

Există diferite moduri de a defini o funcție. Iată unul:

function up () {

Cuvântul funcție este opțional. Dacă ești tradiționalist, folosește-l, dacă nu te poate deranja să-l introduci, lăsați-l afară.

Iată întreaga noastră funcție în gedit:

Editarea fișierului .bash_functions

function up () {

Aceasta marchează începutul definiției funcției noastre și numește funcția în sus.

nivele = 1 $

Aceasta creează o variabilă numită niveluri și îl setează la valoarea primului parametru. Acest parametru va fi o cifră furnizată de utilizator atunci când apelează funcția. $ 1 înseamnă „primul parametru din linia de comandă”.

în timp ce ['$ levels' -gt '0']; do

Apoi intrăm într-o buclă care se va traduce apoi ca „când„ valoare ' de ' niveluri 'Este pozitiv sau mai mare decât zero, faceți ceea ce este conținut în corpul buclei.'

În interiorul corpului buclei, avem două comenzi. Sunt:

cd ..

Mutați un nivel în sus în arborele directorului.

nivele = $ (($ niveluri - 1))

Setați nivelurile la o nouă valoare, care este cu una mai mică decât valoarea sa actuală.

Ne întoarcem apoi în partea de sus a buclei, comparația dintre valoarea nivelurilor și zero se face încă o dată. Dacă „nivele” este mai mare de zero, corpul buclei este executat din nou. Dacă nu este pozitiv sau mai mare decât zero, bucla este terminată și trecem la instrucțiunea done și funcția sa terminat.

Salvați aceste schimbări și se închid gedit .

Vom citi și vom executa comenzile în „.bashrc” care ar trebui să citească și să execute comenzile din fișierul nostru „.bash_functions”.

. .bashrc

Sunați la ..bashrc

Putem testa funcția mutându-ne într-o anumită locație din arborele directorului și folosind în sus pentru a ne întoarce la un punct „mai înalt” din arborele directorului.

cd ./work/backup/ up 2

Funcționează în sus

Funcția funcționează. Ne-am mutat cu două niveluri de director mai sus în arbore.

Urmărirea tipului

Pe măsură ce construiți o suită de aliasuri și o bibliotecă de funcții, poate deveni dificil să vă amintiți dacă o anumită comandă este un alias sau o funcție. Puteți utiliza „ tip' comanda pentru a vă reaminti. Interesant aici este că veți putea vedea și definiția.

Să folosim tipul nostru FTC alias și funcția noastră de sus.

tip ftc tip up

Utilizarea tipului

Primim un memento foarte util despre ce tip de comandă este fiecare, împreună cu definițiile lor.

Începeți să colecționați

Aliasurile și funcțiile vă pot accelera enorm utilizarea liniei de comandă. Ele pot scurta secvențele de comenzi și vă permit să coaceți opțiunile pe care le utilizați întotdeauna cu comenzile standard. De fiecare dată când vedeți o funcție unică sau utilă, puteți să o adaptați și să o personalizați, apoi să o adăugați în fișierele dvs. „.bash_aliases” sau „.bash_functions”. Utilizarea pe scară largă a acestora vă poate ajuta să vă faceți mai plăcut și mai puțin complex timpul petrecut în coajă.

Nu uitați să fiți atenți la redefinirea comenzilor existente cu un comportament potențial distructiv. Chiar dacă faceți opusul și aliasați o comandă pentru o variantă mai sigură (de exemplu, solicitați întotdeauna confirmarea înainte de a șterge recursiv, de exemplu), vă puteți întoarce pentru a vă mușca prima dată când sunteți pe un sistem fără el, odată ce ați ajuns să vă bazați pe el . Pentru a găsi candidați pentru care ar putea fi bine să creați aliasuri, ar putea fi o idee bună să vă căutați în istoric comenzile cele mai frecvent utilizate.

12 minute citite