Pensa agli alias come soprannomi. Potresti avere un comando che esegui molto ma che vuoi abbreviare.
Ad esempio, spesso vuoi andare direttamente al desktop dalla riga di comando, quindi puoi farlo
alias desktop="cd ~/Desktop"
Da quel momento in poi basta digitare
desktop
nel terminale e si esibirà cd ~/Desktop
per te.
Le funzioni contengono logica. In una funzione, è possibile effettuare chiamate a diversi programmi diversi. Ecco una semplice funzione di eco
function e {
echo $1
echo $1 $1
echo $1 $1 $1
}
Mentre può apparire simile a un alias quando lo chiami
e Hello
La tua e () può succedere molte cose diverse. Quanto sopra è un esempio semplicistico.
Gli alias dovrebbero essere riservati per semplici casi d'uso. Esempio personale: ho sostituito il mio rm
comando in questo modo
alias rm='trash-put'
Ogni volta che faccio un rm, lo invierà nel cestino invece di eliminarlo dal disco. Questo si rivolge alla mia goffaggine nel terminale dove posso (a volte) cancellare accidentalmente un file importante.
Le funzioni , è necessario ricordare, sono elementi logici. Di solito non useresti una funzione standalone. Sarebbe parte di una sceneggiatura più ampia. Immagina uno script che prende tutti i tuoi file e li rinomina nelle loro versioni latine di maiale. Ignora che ci sono diversi modi per farlo.
Ma quello che potresti fare è scorrere tutti i file nella directory e passare il percorso del file alla tua funzione RenameAsPigLatin. La funzione RenameAsPigLatin potrebbe avere una logica aggiuntiva che coinvolge numeri, in cui decidi che i file che terminano con numeri non devono essere rinominati.
Immediatamente puoi vedere il vantaggio di averlo come una funzione. La funzione può concentrarsi sulla ridenominazione secondo le tue strane regole mentre il resto dello script può attraversare varie directory, se necessario.