Поиск…
Вступление
Shell aliases - простой способ создать новые команды или обернуть существующие команды с помощью собственного кода. Они несколько перекрываются с функциями оболочки, которые, однако, более универсальны и поэтому часто предпочтительнее.
замечания
Псевдоним будет доступен только в оболочке, где была выдана команда alias.
Чтобы сохранить псевдоним, положите его в свой .bashrc
Создать псевдоним
alias word='command'
Вызов word
будет выполнять command
. Любые аргументы, предоставленные псевдониму, просто добавляются к цели псевдонима:
alias myAlias='some command --with --options'
myAlias foo bar baz
Затем оболочка выполнит:
some command --with --options foo bar baz
Чтобы включить несколько команд в один и тот же псевдоним, вы можете связать их вместе с &&
. Например:
alias print_things='echo "foo" && echo "bar" && echo "baz"'
Список всех псевдонимов
alias -p
будут перечислены все текущие псевдонимы.
Развернуть псевдоним
Предположим, что bar
является псевдонимом для someCommand -flag1
.
Введите bar
в командной строке, а затем нажмите Ctrl + alt + e
вы получите someCommand -flag1
где стоял bar
.
Удалить псевдоним
Чтобы удалить существующий псевдоним, используйте:
unalias {alias_name}
Пример:
# 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
Обход псевдонима
Иногда вы можете временно обойти псевдоним, не отключая его. Чтобы работать с конкретным примером, рассмотрите этот псевдоним:
alias ls='ls --color=auto'
И, допустим, вы хотите использовать команду ls
не отключая псевдоним. У вас есть несколько вариантов:
- Используйте
command
builtin:command ls
- Используйте полный путь к команде:
/bin/ls
- Добавьте имя
\
любом месте в имени команды, например:\ls
илиl\s
- Отправьте команду:
"ls"
или'ls'
BASH_ALIASES - это внутренний байт-массив
Псевдонимы называются ярлыками команд, которые можно определить и использовать в интерактивных экземплярах bash. Они хранятся в ассоциативном массиве с именем BASH_ALIASES. Чтобы использовать этот var в скрипте, он должен запускаться в интерактивной оболочке
#!/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