Відповіді:
type
Вбудований корисний для цього. Він не тільки розповість про псевдоніми, але й про функції, вбудовані, ключові слова та зовнішні команди.
$ 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;
printf '%s\n' "$REPLY";
grep --color=auto "$@"
}
}
type -a cmd
покаже всі команди під цим іменем у порядку пріоритетності, що корисно для ls
псевдоніму вище, де сам псевдонім викликає ls
.
$ type -a ls
ls is aliased to `ls --color=auto'
ls is /bin/ls
Це говорить про те, що при запуску ls
, /bin/ls
буде використовуватися, і --color=auto
будуть включені в список аргументів, на додаток до будь-якої іншої додати себе.
type
поки ви не потрапите на щось інше, ніж псевдонім ...
type
буду аналізувати / інтерпретувати будь-які цитати, тож ви можете переконатися, що цитати є правильними.
ls is aliased to 'ls --color=auto'
, але як я можу заглибити один шар глибше, щоб побачити, чи він використовує / bin / ls або / usr / local / bin / ls чи що?
type -a ls
покаже всі команди ls, знайдені в порядку вподобання. Залежно від псевдоніма той, який буде виконаний псевдонімом.
Просто введіть alias
під час запиту Shell. Він повинен вивести список усіх активно діючих псевдонімів.
Або ви можете ввести, alias [command]
щоб побачити, яким певним псевдонімом є псевдонім, як приклад, якщо ви хочете дізнатись, що ls
псевдонім був псевдонім, ви могли б зробити alias ls
.
alias ls
щоб дізнатись, що конкретно ls
є іноземцем.
type
проте працює в обох випадках.
Мені дуже подобається Ctrl+ Alt+ , Eяк я дізнався з цієї відповіді . Він "розширює" поточний набраний командний рядок, тобто він виконує псевдонім розширення (серед іншого).
Що це означає? Перетворюється будь-який псевдонім, який може бути записаний в командному рядку, у те, до чого виступає псевдонім.
Наприклад, якщо я набираю:
$ ls
а потім натисніть Ctrl+ Alt+ E, воно перетворюється на
$ ls --time-style=locale --color=auto
squeue -u davidmh -o %.18i %.9P %.25j %.8u %.8T %.10M %.9l %.6D %R
замістьsqueue -u davidmh -o "%.18i %.9P %.25j %.8u %.8T %.10M %.9l %.6D %R "
Строго кажучи правильною відповіддю є використання масиву BASH_ALIASES, наприклад:
$ echo ${BASH_ALIASES[ls]}
ls -F --color=auto --show-control-chars
ls
псевдонім, не змінюючи того, що там є. Тож я берусь alias ls="${BASH_ALIASES[ls]} --time-style=iso"
за свою справу.
Ви можете використовувати which
команду.
Якщо ви встановите псевдонім ls
як ls -al
і потім введіть which ls
, ви побачите:
ls: aliased to ls -al
.
which
команди.
which
це поганий спосіб пошуку псевдонімів, як пояснено тут: unix.stackexchange.com/questions/10525/… Це навіть не працює для мене для псевдонімів в баші на Ubuntu.