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


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow