Come creare alias e funzioni di shell in Linux

Contenuti

Una finestra di terminale su un laptop Linux

Crea i tuoi comandi Linux usando alias e funzioni della shell bash. Controlla le attività ripetitive, troncare processi lunghi e configurare comandi standard con alternative che usi sempre e che fai fatica a ricordare.

Alias e gli script di shell sono potenti tecniche su sistemi operativi simili a Linux e Unix che ti consentono di affinare la tua esperienza della riga di comando per essere esattamente ciò che desideri. Puoi impostare i tuoi comandi personalizzati in base alle tue esigenze specifiche e per alleviare il peso delle attività ripetitive.

Alias ​​e script di shell fare lo stesso tipo di lavoro. Ti permettono di stabilire (e nome) un insieme di funzioni di shell bash che possono quindi essere chiamate con qualsiasi nome tu abbia dato. Digitare il nome è più facile e conveniente che dover digitare tutti i passaggi o i comandi ogni volta che si desidera utilizzarli.

La differenza tra un alias e uno script è di complessità e scala. Gli script sono migliori per salvare frammenti di codice più lunghi ed elaborati. Gli alias sono perfetti per mantenere i set di comandi più brevi e concisi.

Alias ​​predefiniti

Alcuni alias sono predefiniti per te. Per vedere l'elenco degli alias definiti sul tuo sistema, usa il comando alias senza parametri:

alias

Questi sono gli alias definiti sulla macchina di test di Ubuntu su cui è stato studiato questo post. Se avessi definito degli alias personalizzati, anche questi comparirebbero in questa lista.

In cima alla lista, c'è un alias dall'aspetto difficile chiamato alert. Ci arriveremo tra un momento. Ci sono molti alias diversi per ls comando, e c'è un gruppo di alias che forniscono output a colori al grep comando famiglia. Come esempio, con questi alias definiti, ogni volta che scrivo:

grep

Il sistema lo interpreterà come:

grep --color=auto

Questo mostra un punto importante con gli alias. Possono avere lo stesso nome dei comandi esistenti. Possono persino contenere il comando originale dentro di sé.

Ecco la definizione di grep alias.

alias grep = 'grep --color = auto'
  • il alias Il comando è usato per impostare un alias.
  • Il nome dell'alias è riportato di seguito. In questo esempio è grep.
  • Il segno di uguale collega il Nome da alias a corpo alias. Per tutti gli alias, tranne quelli molto semplici, il corpo dell'alias è racchiuso tra virgolette singole '.
  • Il corpo dell'alias è la sezione che viene eseguita quando l'alias viene utilizzato sulla riga di comando.

Il corpo di questo alias chiama semplicemente grep comando con il --color=auto opzione.

Avviso di alias

Come breve a parte, e così sai cosa fa, il alert alias viene utilizzato per avvisarti quando un comando è terminato. Indica anche se il comando è stato completato con successo o meno. Fornisce un avviso di sistema grafico nella parte superiore dello schermo.

Qui c'è un semplice esempio. il sleep Il comando resterà inattivo per cinque secondi. alert allora si chiamerà alias. L'alias verifica la soluzione del comando precedente. Estrai l'ultimo comando dal file di archivio. Determina se il comando è stato completato con successo o meno. Quindi presenta i risultati in un avviso di sistema.

Se il comando è stato completato come previsto, l'icona di avviso di sistema è una piccola finestra di terminale. Se il comando ha restituito un codice di errore, l'icona di avviso di sistema è un'icona di errore rossa.

dormire 5; mettere in guardia

Dopo cinque secondi, vediamo questo avviso di sistema:

Avviso di sistema per il comando di sospensione

L'icona è una piccola finestra di terminale, il che significa che è andato tutto bene. Riproviamo con un comando che sappiamo fallirà:

Destinato a fallire; mettere in guardia

Il nostro avviso di sistema ora ha un'icona di errore.

Definizione di alias banale

Come abbiamo visto, per impostare un alias, noi usiamo il alias comando.

Creiamo uno pseudonimo per lui clear comando. Il nostro alias si chiamerà cls e chiamerà clear comando.

La nostra definizione di alias è così banale che non giustifica l'essere tra virgolette singole. Se il corpo dell'alias è più complesso di questo, o se contiene spazi, racchiudilo tra virgolette singole. Definiremo l'alias, utilizzo ls per inserire dell'output nella finestra del terminale e quindi utilizzare il nostro nuovo alias cls per pulire lo schermo.

alias cls=clear
ls -l
cls

Lo schermo viene cancellato. Successo, anche di breve durata. L'alias sopravviverà solo finché questa finestra del terminale rimarrà aperta. Una volta chiusa la finestra, l'alias scomparirà.

Quindi, ¿cómo hacemos que nuestros alias sean permanentes?

Il file .bashrc e gli alias

Ti starai chiedendo dove sono definiti gli alias preconfezionati. está en el archivo “.bashrc” nella tua cartella Inizio. Questo file viene letto ei comandi in esso contenuti vengono eseguiti ogni volta che si avvia una shell interattiva.. In altre parole, quando apri una finestra di terminale.

Escriba el siguiente comando en su carpeta de inicio para ver el contenido del archivo “.bashrc” con evidenziazione della sintassi.

gedit .bashrc

Questo avvierà il gedit editor con el archivo “.bashrc” caricato su di esso.

gedit con .bashrc caricato al suo interno

Le aree evidenziate mostrano due aree in cui sono definiti gli alias.

Scorrendo il documento, verranno rivelate altre due sezioni associate agli alias:

Il primo di questi è la definizione di alert alias. Il secondo è un if dichiarazione. Si traduce come, “si el archivo” .bash_aliases “esiste, léalo”.

Se hai solo pochi alias che vuoi impostare, puoi metterli nel tuo file ".bashrc".. Posizionali sotto la sezione contenente il ls alias.

Se hai intenzione di creare molti alias, o semplicemente ti piace l'idea di avere i tuoi alias incapsulati all'interno del proprio file, puoi definirli nel tuo file ".bash_aliases".. Una ventaja de crearlos en su archivo “.bash_aliases” es que no puede cambiar accidentalmente ninguna de las configuraciones en el archivo “.bashrc”. Un altro vantaggio è che i tuoi alias possono essere facilmente copiati su nuovi sistemi perché sono totalmente separati dal file ".bashrc"..

Memorizzazione degli alias nel file .bash_aliases

Il file “.bash_aliases” Non esisterà finché non lo crei. Puoi creare il file con questo comando:

tocca .bash_alias

Modifichiamo il file e aggiungiamo alcuni alias. Este comando abrirá el archivo “.bash_aliases” a gedit editore.

gedit .bash_alias

Abbiamo aggiunto tre alias. Il primo è nostro cls alias che abbiamo usato in precedenza. Viene chiamato il prossimo h. ed è un modo abbreviato di chiamare history comando.

Viene chiamato il terzo alias ftc. Questo significa “recuento de tipos de archivo”.

Questo alias è più complesso, quindi è racchiuso tra virgolette singole. quindi è racchiuso tra virgolette singole. quindi è racchiuso tra virgolette singole, quindi è racchiuso tra virgolette singole.

IMPARENTATO: Come usare Pipes su Linux

quindi è racchiuso tra virgolette singole “.bash_aliases”, quindi è racchiuso tra virgolette singole. quindi è racchiuso tra virgolette singole. quindi è racchiuso tra virgolette singole. quindi è racchiuso tra virgolette singole.

quindi è racchiuso tra virgolette singole. . per quindi è racchiuso tra virgolette singole quindi è racchiuso tra virgolette singole. quindi è racchiuso tra virgolette singole “.quindi è racchiuso tra virgolette singole” quindi è racchiuso tra virgolette singole “.bashrc”, quindi è racchiuso tra virgolette singole “.bashrc”. De aquel modo podemos chequear que el archivo “.bash_alias” se llama desde “.bashrc” y que nuestros alias están vivos y en buen estado.

I comandi che utilizziamo lo sono:

gedit .bash_alias

Para editar el archivo “.quindi è racchiuso tra virgolette singole”.

. .bashrc

Esto leerá y ejecutará los comandos dentro de “.bashrc”, que llamará “.quindi è racchiuso tra virgolette singole”.

ftc

Questo chiamerà il ftc alias.

Il nostro alias risponde, lo que significa que Bash ha leído tanto en “.bashrc” come in “.bash_aliases”, e i nostri nuovi alias sono ora attivi.

Ahora puede continuar y agregar nuevos alias al archivo “.bash_aliases” quando ti vengono in mente. Se ti ritrovi a fare le cose più di una o due volte, considera la possibilità di creare un alias per questo.

eliminare gli alias

C'è un comando per rimuovi gli alias in modo che BAsh non li riconosca o non risponda a loro. Francamente rinfrescante, il comando si chiama unalias.

Per usarlo, dai il nome dell'alias che vuoi che Bash dimentichi. Per far dimenticare a bash il nostro ftc alias, utilizzo unalias come questo:

unalias ftc

Puoi usare unalias per rimuovere gli alias che hai definito e uno qualsiasi degli alias predefiniti.

Per rimuovere tutti gli alias dal tuo sistema, Utilizzare il -a (Tutto quanto) opzione:

unalias -a

Nonostante questo, La perdita di memoria di Bash non sarà permanente. La prossima volta che apro una finestra di terminale, los aliasolvidados” torneranno. Per rimuoverli davvero, debe eliminarlos de sus archivos “.bashrc” e “.quindi è racchiuso tra virgolette singole”.

Se pensi che ti piacerebbe riaverli indietro, non rimuoverli dal file ".bashrc".. Anziché, commenti aggiungendo un hash # all'inizio di ciascuno alias linea. Para que su archivo “.bash_alias” no sea efectivo, rinominalo. Si su archivo “.bashrc” no puede verlo, non lo leggerò. Annullare questi passaggi per reimpostare i tuoi alias è una questione banale.

funzioni di shell

Gli pseudonimi di Lika, Le funzioni della shell Bash possono essere impostate all'interno del file ".bashrc"., ma spesso è meglio inserirli nel proprio file di definizioni. Ti chiameremo “.bash_functions”, siguiendo la convención utilizada para el archivo “.bash_aliases”.

Eso significa que debemos decirle al archivo “.bashrc” que lea nuestras definiciones. Podemos copiar y modificar el fragmento de código que se lee en el archivo “.bash_aliases”. Lancio gedit y cargue el archivo “.bashrc” con questo comando:

gedit .bashrc

È necessario aggiungere la sezione evidenziata mostrata di seguito.

È possibile evidenziare la sezione degli alias e premere Ctrl+C e poi spostati dove vuoi la nuova sezione e premi Ctrl+V per incollare una copia del testo. Dopo, todo lo que necesita hacer es cambiar los dos lugares donde dice “.bash_aliases” un “.bash_functions”.

Possiamo salvare quelle modifiche e chiudere gedit.

Ahora vamos a crear y editar el archivo “.bash_functions” y poner una definición de función en él.

tocca .bash_functions
gedit .bash_functions

Esto abrirá el archivo “.bash_functions” svuotare gedit.

Aggiungiamo una semplice funzione chiamata up. up prenderà un singolo parametro della riga di comando, cos'è una cifra. up poi chiamerò cd .. così tante volte. Quindi, se hai usato il comando

su 2

up chiamerebbe cd .. due volte e salirebbe di due livelli nell'albero delle directory.

Esistono diverse alternative per impostare una funzione. eccone uno:

funzione su() {

La parola function è facoltativo. Se sei un tradizionalista, usalo, se non ti preoccupi di scriverlo, lascialo fuori.

Ecco tutta la nostra funzione in gedit:

La funzione shell up () Bash e gedit

funzione su() {

Questo segna l'inizio della nostra definizione di funzione, e dai un nome alla funzione up.

livelli=$1

Questo crea una variabile chiamata levels e impostalo al valore del primo parametro. Questo parametro sarà una cifra fornita dall'utente quando si chiama la funzione. il $1 significa “primer parámetro de línea de comando”.

mentre [ "$livelli" -gt "0" ]; fare

Quindi entriamo in un ciclo. Esto se traduce como “mentre il valore di levels è maggiore di zero, mentre il valore di “.

All'interno del corpo del ciclo, abbiamo due comandi. Figlio:

cd ..

Sali di un livello nell'albero delle directory.

livelli=$(($livelli - 1))

Indossare levels a un nuovo valore, che è uno in meno del suo valore attuale.

Poi torniamo all'inizio del ciclo, mentre il valore di levels mentre il valore di. e levels è maggiore di zero, mentre il valore di. mentre il valore di, mentre il valore di done dichiarazione, mentre il valore di.

mentre il valore di gedit.

mentre il valore di “.bashrc” mentre il valore di “.bash_functions”.

. .bashrc

mentre il valore di up mentre il valore di “superiore” mentre il valore di.

mentre il valore di
su 2

La funzione funziona. Abbiamo spostato due livelli di directory più in alto nell'albero.

Tieni traccia del ragazzo

Quando crei un insieme di alias e una libreria di funzioni, può essere difficile ricordare se un particolare comando è un alias o una funzione. Puoi usare il type comando per ricordarti. La cosa buona qui è che puoi anche vedere la definizione.

Usiamo type nel nostro ftc alias e il nostro up funzione.

digita ftc
digita

Otteniamo un promemoria molto utile di che tipo di comando è ciascuno, insieme alle loro definizioni.

Inizia a raccogliere

mentre il valore di. Possono abbreviare i tuoi script e permetterti di incorporare le alternative che usi sempre con i comandi standard.

Ogni volta che vedi una funzione intelligente o utile, puoi adattarlo e personalizzarlo, y después agregarla a sus archivos “.bash_aliases” o “.bash_functions”.

impostaTimeout(funzione(){
!funzione(F,B,e,v,n,T,S)
{Se(f.fbq)Restituzione;n=f.fbq=funzione(){n.callMethod?
n.callMethod.apply(n,argomenti):n.queue.push(argomenti)};
Se(!f._fbq)f._fbq = n;n.push=n;n.loaded=!0;n.version='2.0′;
n.coda=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(T,S) } (window, documento,'copione',
'https://connect.facebook.net/en_US/fbevents.js');
fbq('dentro', '335401813750447');
fbq('traccia', 'Visualizzazione della pagina');
},3000);

Iscriviti alla nostra Newsletter

Non ti invieremo posta SPAM. Lo odiamo quanto te.