Можно использовать функцию отладки оболочки для наблюдения точно, что происходит, когда удар вызывает интерактивную оболочку. Следующее должно показать Вам всем псевдонимы, которые присвоены, когда интерактивная оболочка порождена от оболочки входа в систему:
bash -x -l -i -c 'exit' 2>&1 | grep ' alias '
-x
-> позволяют отладить-l
-> входят в оболочку-i
-> интерактивная оболочка-c
-> командаВыполнение выхода команды требуется так, чтобы оболочка возвратилась. -i
требуется в этом случае, потому что удар не настроил бы интерактивную среду для выполнения команды иначе.
Вот пример от моей системы:
$ 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
. псевдонимы нечто t
, и затем .bashrc переопределяет предыдущий псевдоним t
.
Оказывается, что это было на самом деле смущающе просто, не уверено, почему я не попробовал это во-первых.
vim +BundleInstall +qall 2&> /dev/null
Vim является интерактивным редактором; лучшим, который можно попробовать, является тихий пакетный режим:
vim -es <<<BundleInstall
Посмотрите :help -s-ex
для деталей.