Предположим, что у меня есть псевдоним в оболочке bash. Есть ли простая команда для печати какой команды будет выполняться псевдоним?
Предположим, что у меня есть псевдоним в оболочке bash. Есть ли простая команда для печати какой команды будет выполняться псевдоним?
Для этого полезно использовать type
builtin. Он не только расскажет вам об алиасах, но также о функциях, встроенных функциях, ключевых словах и внешних командах.
$ type ls
ls is aliased to 'ls --color=auto'
$ type rm
rm is /bin/rm
$ type cd
cd is a shell builtin
$ type psgrep
psgrep is a function
psgrep ()
{
ps -ef | {
read -r;
echo "$REPLY";
grep --color=auto "[email protected]"
}
}
Просто введите alias
в командной строке. Он должен вывести список всех активных в настоящее время псевдонимов.
Или вы можете набрать alias [command]
, чтобы увидеть, как в качестве примера используется псевдоним alias, если вы хотите узнать, к чему псевдоним ls
был сглажен, вы можете сделать alias ls
. р>
Мне очень нравится Ctrl + Alt + E , как я узнал из этот ответ . Он «расширяет» введенную в настоящее время командную строку, что означает, что он выполняет расширение псевдонимов (между прочим).
Что это значит? Он превращает любой псевдоним, который в настоящее время записывается в командной строке, в то, что означает псевдоним.
Например, если я набираю:
$ ls
, а затем нажмите Ctrl + Alt + E , он превращается в
$ ls --time-style=locale --color=auto
Строго говоря, правильный ответ заключается в использовании массива BASH_ALIASES, например:
$ echo ${BASH_ALIASES[ls]}
ls -F --color=auto --show-control-chars
Вы можете использовать команду which
. Р>
Если вы установите псевдоним для ls
как ls -al
, а затем введите which ls
, вы увидите:
ls: aliased to ls -al
. Р>