Как я могу определить, какой у меня тип оболочки? то есть, будь то традиционный sh, bash, ksh, csh, zsh и т. д.
Обратите внимание, что проверка $ SHELL
или $ 0
не будет работать, потому что $ SHELL
] не устанавливается всеми оболочками, поэтому, если вы начинаете в одной оболочке, а затем запускаете другую, у вас все еще может быть старая $ SHELL
.
$ 0
только сообщает вам, где оболочка двоичный файл есть, но не сообщает вам, является ли / bin / sh
настоящей оболочкой Борна или bash.
Я предполагаю, что ответ будет «попробуйте некоторые функции и посмотрите, что сломается», поэтому, если любой может указать мне на сценарий, который делает это, было бы здорово.