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 o l\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


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow