Bash: Come creare un alias che accetti anche dei parametri?

Cosa è un alias? Un alias consente di creare un nuovo comando o, nell’uso più comune, ridefinire il funzionamento dei comandi nella bash.

Ad esempio il comando rm (per la cancellazione di files) non chiede conferma prima di procedere, a meno che non passiamo il parametro -i. Se vogliamo stare un po’ più tranquilli e farci chiedere conferma, possiamo definire il seguente alias nel nostro file ~/.profile:
alias rm='rm -i'

dopo aver effettuato il logout/login o riletto i file con:
source ~/.profile
se proviamo a cancellare un file con il classico:
rm pippo.txt
ci viene richiesta conferma di cancellazione.

Ecco, questo è un esempio di quello che si può fare con gli alias.

Se però abbiamo bisogno di passare un parametro all’alias, come possiamo procedere?
Purtroppo non è possibile passare parametri al comando alias, ma in questo caso ci vengono in aiuto le funzioni (functions) che possono essere definite nel file ~/.profile nei seguenti formati:
function function_name {
command1
command2
}

oppure
function_name () {
command1
command2
}

Vediamo un esempio. Scrivendo nel file ~/.profile:
mcd () {
if [ -z "$1" ]; then
echo "Indicare il nome di una cartella"
else
mkdir -p $1
cd $1
fi
}

e poi rileggendo il file:
source ~/.profile
avremo a disposizione un nuovo comando chiamato mcd che creerà una nuova cartella ed entrerà in quest’ultima, es:
pwd
/home/demouser/

mcd test
pwd
/home/demouser/test

enjoy!

Se hai trovato utili le informazioni su questo blog,
Fai una donazione!
Clicca sul bottone qui sotto o almeno clicca sul banner pubblicitario 🙂



Taggato su: , , ,

Commenta