Zoeken…
Invoering
Shell-aliassen zijn een eenvoudige manier om nieuwe opdrachten te maken of bestaande opdrachten met eigen code te verpakken. Ze overlappen enigszins met shell- functies , die echter veelzijdiger zijn en daarom vaak de voorkeur verdienen.
Opmerkingen
De alias is alleen beschikbaar in de shell waarin de alias-opdracht is uitgegeven.
Overweeg om het alias aan te houden om het in uw .bashrc
Maak een alias
alias word='command'
Het aanroepende word
zal command
. Alle argumenten die aan de alias worden gegeven, worden eenvoudig toegevoegd aan het doel van de alias:
alias myAlias='some command --with --options'
myAlias foo bar baz
De shell zal dan uitvoeren:
some command --with --options foo bar baz
Als u meerdere opdrachten in dezelfde alias wilt opnemen, kunt u ze samen met &&
combineren. Bijvoorbeeld:
alias print_things='echo "foo" && echo "bar" && echo "baz"'
Lijst met alle aliassen
alias -p
geeft alle huidige aliassen weer.
Alias uitvouwen
Ervan uitgaande dat die bar
een alias is voor someCommand -flag1
.
Typ bar
op de opdrachtregel en druk vervolgens op Ctrl + alt + e
je krijgt someCommand -flag1
waar de bar
stond.
Verwijder een alias
Gebruik om een bestaande alias te verwijderen:
unalias {alias_name}
Voorbeeld:
# 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
Een alias omzeilen
Soms wilt u een alias tijdelijk omzeilen zonder het uit te schakelen. Overweeg deze alias om met een concreet voorbeeld te werken:
alias ls='ls --color=auto'
En laten we zeggen dat u de opdracht ls
gebruiken zonder de alias uit te schakelen. U hebt verschillende opties:
- Gebruik de
command
ingebouwde:command ls
- Gebruik het volledige pad van de opdracht:
/bin/ls
- Voeg overal in de opdrachtnaam een
\
, bijvoorbeeld:\ls
ofl\s
- Citeer het commando:
"ls"
of'ls'
De BASH_ALIASES is een interne bash assoc-array
Aliassen worden snelkoppelingen naar opdrachten genoemd, die u kunt definiëren en gebruiken in interactieve bash-instanties. Ze worden gehouden in een associatieve array met de naam BASH_ALIASES. Als u deze var in een script wilt gebruiken, moet deze binnen een interactieve shell worden uitgevoerd
#!/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