Відповіді:
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.