Поиск…


Вступление

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


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow