Com crear àlies i funcions de shell a Linux?

vingui després de l'última ordre:



nom_funció () {ordre1; command2; }

Alias ​​Lika, les funcions de l'intèrpret d'ordres Bash es poden definir dins del fitxer '.bashrc', però sovint és més senzill posar-les al seu propi fitxer de definicions. L’anomenarem “.bash_functions”, seguint la convenció que s’utilitza per al fitxer “.bash_aliases”.

Això significa que hem de dir al fitxer '.bashrc' que es llegeixi a les nostres definicions. Podem copiar i modificar el fragment de codi que es llegeix al fitxer '.bash_aliases'. Inicieu gedit i carregueu el fitxer '.bashrc' amb aquesta ordre:



gedit .bashrc

fitxer gedit .bashrc



Cal afegir la secció ressaltada que es mostra a continuació.



Podeu ressaltar la secció d’àlies i prémer Ctrl + C i, a continuació, moure’s a on vulgueu la secció nova i prémer Ctrl + V per enganxar una còpia del text. Aleshores, tot el que heu de fer és canviar els dos llocs on diu '.bash_aliases' a '.bash_functions'.

Addició de bash_functions al fitxer .bashrc

Podem desar aquests canvis i tancar gedit.



Ara crearem i editarem el fitxer '.bash_functions' i hi posarem una definició de funció.

toqueu .bash_functions gedit .bash_functions

Creació i edició de .bash_functions

Això obrirà el fitxer buit '.bash_functions' a gedit.

Afegirem una simple funció cridada. amunt prendrà un paràmetre de línia d'ordres únic, que és un dígit. up cridarà al cd .. aquest nombre de vegades. Per tant, si heu utilitzat l'ordre

pujar 2

up cridaria cd .. dues vegades i pujaria dos nivells a l'arbre de directoris.

Hi ha diferents maneres de definir una funció. Aquí en teniu un:

function up () {

La paraula funció és opcional. Si sou tradicionalista, utilitzeu-lo, si no us molesta escriure-ho, deixeu-lo fora.

Aquí teniu tota la nostra funció a gedit:

S'està editant el fitxer .bash_functions

function up () {

Això marca l'inici de la definició de la nostra funció i dóna nom a la funció.

nivells = 1 $

Això crea una variable anomenada nivells i el defineix al valor del primer paràmetre. Aquest paràmetre serà un dígit proporcionat per l'usuari quan truqui a la funció. $ 1 significa 'primer paràmetre de línia d'ordres'.

mentre que ['$ levels' -gt '0']; fer

A continuació, introduïm un bucle que es traduirà com 'quan el' valor 'De' nivells 'És positiu o superior a zero, feu allò que es troba al cos del bucle'.

Dins del cos del bucle, tenim dues ordres. Ells són:

cd ..

Mou un nivell amunt a l'arbre de directoris.

nivells = $ (($ nivells - 1))

Establiu els nivells a un valor nou, que és un menys que el seu valor actual.

Després tornem a la part superior del bucle, la comparació entre el valor dels nivells i el zero es torna a fer. Si els 'nivells' són més de zero, el cos del bucle es torna a executar. Si no és positiu ni superior a zero, el bucle s'ha acabat i passem a la sentència done i la funció s'ha acabat.

Desa aquests canvis i es tanquen gedit .

Llegirem i executarem les ordres a '.bashrc', que haurien de llegir-les i executar-les al fitxer '.bash_functions'.

. .bashrc

Truca a ..bashrc

Podem provar la funció movent-nos a alguna ubicació de l'arbre de directoris i fent servir cap amunt per tornar a un punt 'més alt' de l'arbre de directoris.

cd ./work/backup/ up 2

Funció cap amunt

La funció funciona. Ens movem dos nivells de directori més alts a l’arbre.

Seguiment del tipus

A mesura que creeu un conjunt d'àlies i una biblioteca de funcions, pot ser difícil recordar si una ordre en particular és un àlies o una funció. Podeu utilitzar el “ escriu ” ordre per recordar-vos-ho. El més interessant aquí és que també podeu veure la definició.

Utilitzem tipus al nostre FTC àlies i la nostra funció ascendent.

tipus ftc tipus up

Ús del tipus

Obtenim un recordatori molt útil de quin tipus d’ordre és cadascun, juntament amb les seves definicions.

Comenceu a col·leccionar

Els àlies i les funcions poden agilitzar enormement l’ús de la línia d’ordres. Poden escurçar seqüències d’ordres i us permeten introduir les opcions que sempre utilitzeu amb les ordres estàndard. Cada vegada que veieu una funció útil o útil, podeu adaptar-la i personalitzar-la i, després, afegir-la als fitxers '.bash_aliases' o '.bash_functions'. Un ús extens d’aquests us pot ajudar a fer que el vostre temps a la closca sigui més agradable i menys complex.

Recordeu que heu de tenir cura de redefinir les ordres existents amb un comportament potencialment destructiu. Fins i tot fer el contrari i assignar una ordre a una variant més segura (per exemple, sempre demanant confirmació abans de suprimir-la de manera recursiva), es pot tornar a mossegar la primera vegada que utilitzeu un sistema sense ell un cop heu vingut a confiar . Per trobar candidats que puguin ser bons per crear àlies, pot ser una bona idea cercar al vostre historial les ordres més utilitzades.

12 minuts de lectura