Ricerca…
introduzione
Gli alias di shell sono un modo semplice per creare nuovi comandi o per includere comandi esistenti con il proprio codice. Si sovrappongono in qualche modo con le funzioni di shell, che sono tuttavia più versatili e dovrebbero quindi essere spesso preferite.
Osservazioni
L'alias sarà disponibile solo nella shell in cui è stato emesso il comando alias.
Per mantenere l'alias, prendi in considerazione la possibilità di inserirlo nel tuo .bashrc
Crea un alias
alias word='command'
L'invocazione di word
eseguirà il command
. Qualsiasi argomento fornito all'alias viene semplicemente aggiunto alla destinazione dell'alias:
alias myAlias='some command --with --options'
myAlias foo bar baz
La shell eseguirà quindi:
some command --with --options foo bar baz
Per includere più comandi nello stesso alias, puoi metterli insieme con &&
. Per esempio:
alias print_things='echo "foo" && echo "bar" && echo "baz"'
Elenca tutti gli alias
alias -p
elencherà tutti gli alias correnti.
Espandi alias
Supponendo che la bar
sia un alias per someCommand -flag1
.
Digitare bar
sulla riga di comando e quindi premere Ctrl + alt + e
otterrai una someCommand -flag1
cui si trovava il bar
.
Rimuovi un alias
Per rimuovere un alias esistente, utilizzare:
unalias {alias_name}
Esempio:
# create an alias
$ alias now='date'
# preview the alias
$ now
Thu Jul 21 17:11:25 CEST 2016
# remove the alias
$ unalias now
# test if removed
$ now
-bash: now: command not found
Bypassare un alias
A volte potresti voler bypassare temporaneamente un alias, senza disabilitarlo. Per lavorare con un esempio concreto, considera questo alias:
alias ls='ls --color=auto'
E diciamo che vuoi usare il comando ls
senza disabilitare l'alias. Hai diverse opzioni:
- Utilizzare il
command
incorporato:command ls
- Utilizzare il percorso completo del comando:
/bin/ls
- Aggiungi un
\
ovunque nel nome del comando, ad esempio:\ls
ol\s
- Cita il comando:
"ls"
o'ls'
BASH_ALIASES è un array interno di bash associato
Gli alias sono denominati scorciatoie di comandi, che è possibile definire e utilizzare nelle istanze di bash interattive. Sono contenuti in un array associativo denominato BASH_ALIASES. Per usare questa var in uno script, deve essere eseguita all'interno di una shell interattiva
#!/bin/bash -li
# note the -li above! -l makes this behave like a login shell
# -i makes it behave like an interactive shell
#
# shopt -s expand_aliases will not work in most cases
echo There are ${#BASH_ALIASES[*]} aliases defined.
for ali in "${!BASH_ALIASES[@]}"; do
printf "alias: %-10s triggers: %s\n" "$ali" "${BASH_ALIASES[$ali]}"
done