Szukaj…
Wprowadzenie
Aliasy powłoki to prosty sposób na tworzenie nowych poleceń lub zawijanie istniejących poleceń własnym kodem. W pewnym stopniu pokrywają się one z funkcjami powłoki, które są jednak bardziej wszechstronne i dlatego często powinny być preferowane.
Uwagi
Alias będzie dostępny tylko w powłoce, w której wydano polecenie aliasu.
Aby zachować alias, rozważ umieszczenie go w .bashrc
Utwórz alias
alias word='command'
Wywołanie word
spowoduje uruchomienie command
. Wszelkie argumenty dostarczone do aliasu są po prostu dołączane do celu aliasu:
alias myAlias='some command --with --options'
myAlias foo bar baz
Powłoka wykona następnie:
some command --with --options foo bar baz
Aby dołączyć wiele poleceń do tego samego aliasu, możesz je połączyć razem za pomocą &&
. Na przykład:
alias print_things='echo "foo" && echo "bar" && echo "baz"'
Wyświetl wszystkie aliasy
alias -p
wyświetli listę wszystkich obecnych aliasów.
Rozwiń alias
Zakładając, że bar
jest aliasem dla someCommand -flag1
.
Wpisz bar
w wierszu polecenia, a następnie naciśnij Ctrl + alt + e
dostaniesz someCommand -flag1
gdzie stał bar
.
Usuń alias
Aby usunąć istniejący alias, użyj:
unalias {alias_name}
Przykład:
# 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
Omiń alias
Czasami możesz chcieć tymczasowo ominąć alias, nie wyłączając go. Aby pracować z konkretnym przykładem, rozważ ten alias:
alias ls='ls --color=auto'
Powiedzmy, że chcesz użyć polecenia ls
bez wyłączania aliasu. Masz kilka opcji:
- Użyj
command
polecenie wbudowane:command ls
- Użyj pełnej ścieżki polecenia:
/bin/ls
- Dodaj
\
dowolnym miejscu nazwy polecenia, na przykład:\ls
lubl\s
- Cytuj polecenie:
"ls"
lub'ls'
BASH_ALIASES to wewnętrzna tablica asocjacyjna bash
Aliasy są nazywane skrótami poleceń, które można definiować i używać w interaktywnych instancjach bash. Są one przechowywane w tablicy asocjacyjnej o nazwie BASH_ALIASES. Aby użyć tej zmiennej w skrypcie, należy ją uruchomić w interaktywnej powłoce
#!/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