Ви можете скористатися функцією налагодження оболонки, щоб побачити, що саме відбувається, коли bash викликає інтерактивну оболонку. Далі слід показати всі псевдоніми, які присвоюються, коли інтерактивна оболонка породжена з оболонки для входу:
bash -x -l -i -c 'exit' 2>&1 | grep ' alias '
-x
-> включити налагодження
-l
-> оболонка для входу
-i
-> інтерактивна оболонка
-c
-> команда
Запустити вихід команди потрібно, щоб оболонка повернулася. У -i
цьому випадку потрібно, тому що bash не створив б інтерактивне середовище для запуску команди в іншому випадку.
Ось приклад з моєї системи:
$ bash -x -l -i -c 'exit' 2>&1 | grep ' alias '
++ alias 'ls=ls --color=auto'
$ alias -p
alias ls='ls --color=auto'
Для того, щоб побачити, який файл востаннє отримувався, коли псевдонім був призначений для визначення файлу, який він відбувся, ви можете продовжити grep:
bash -x -l -i -c 'exit' 2>&1 | grep -E ' (alias|[.]|source) '
Це може повернути помилкові позитиви, але має бути добре, якщо ви вручну перевіряєте повернуті дані. Кількість символів "+" перед виконаною командою вказує глибину.
+ . /home/jordan/.bashrc
++ alias 'ls=ls --color=auto'
++ . /home/jordan/.foo
+++ alias t=test
++ alias t=test2
У цьому вихідному прикладі видно, що .bashrc встановлює псевдонім для ls
.foo псевдонімів t
, а потім .bashrc переосмислює попередній псевдонім t
.