Как узнать, какую оболочку вы используете в Linux

Например, если вы входите в неизвестную вам систему Linux, вы можете спросить, какая оболочка используется по умолчанию. Если вы часто меняете оболочку в Linux, вы можете спросить, какую оболочку вы используете в данный момент.
Позвольте нам показать вам различные команды Linux, чтобы выяснить, какую оболочку вы используете.
Узнайте, какую оболочку вы используете в Linux
Теперь нет команды, которая даст вам этот вывод со 100% точностью для всех оболочек. Но эти команды должны быть точными для большинства оболочек.
Способ 1
Вы можете использовать специальный параметр оболочки $$. «$$» указывает идентификатор процесса текущего экземпляра оболочки, которую вы запускаете. Этот параметр доступен только для чтения и не может быть изменен.
Если вы попытаетесь просмотреть информацию о процессе, она должна показать вам имя процесса, т.е. оболочку здесь.
Вывод должен быть таким:
Способ 2
Вы также можете использовать $0. $0 может быть именем оболочки или именем сценария оболочки. Когда он используется внутри сценария оболочки, он обозначает имя сценария.
Но если вы используете его в оболочке без имени файла, он покажет имя оболочки.
Вывод будет просто иметь имя оболочки:
Способ 3
Вы также можете использовать команду pstree. pstree означает дерево процессов и показывает все запущенные процессы в виде дерева.
Если вы не укажете аргумент, он покажет все процессы из init или systemd.
Однако, если вы дадите ему идентификатор процесса, он покажет весь этот процесс как корень дерева. Другими словами, он покажет все процессы, инициированные этим процессом.
Вы можете использовать тот же параметр $$ bash, который мы видели в методе 1.
Способ 4
Последний метод использует файлы в каталоге proc. Если вы прочитали статью о проверке информации о процессоре в Linux, вы, вероятно, уже знаете, что этот каталог содержит информацию о системе времени выполнения вашей системы Linux.
Вы можете использовать следующую команду, чтобы получить оболочку, которую вы используете:
Вывод должен дать вам имя оболочки.
Бонусный совет: узнайте версию оболочки
Итак, вы узнали, как узнать, какую оболочку вы используете. Как насчет версии используемой оболочки? Вы можете получить версию оболочки, просто добавив –version после имени вашей запущенной оболочки.
Например, если вы используете zsh, вы можете использовать это:
Вывод даст вам информацию о версии:
Мы надеемся, что эта статья помогла вам узнать, какую оболочку вы используете. Не забудьте проверить еще один простой совет по изменению оболочки в Linux.
Кстати, вы используете другой способ проверить, какую оболочку вы используете? Почему бы не поделиться им с нами в разделе комментариев?
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Как определить и изменить командную оболочку (shell) в Linux

Командная оболочка или командный интерпретатор в Linux — это программа, которая в текстовой среде выступает в качестве интерфейса между пользователем и операционной системой. Она интерпретирует вводимые команды с терминала и вызывает необходимые программы.
Когда вы работаете в терминале, именно командная оболочка обрабатывает вводимые вами команды. Более того, оболочки Linux поддерживают написание программ на языке оболочки.
Оболочки Linux
Одна из самых популярных командных оболочек — это оболочка Bash (Bourne Again Shell). Она используется по умолчанию в большинстве дистрибутивов Linux.
Существуют разные оболочки Linux. Можно отметить:
- bash
- csh
- dash
- fish
- ksh
- pdksh
- rbash
- sh
- tcsh
- zsh
Оболочки могут очень сильно отличаться друг от друга. Они отличаются функциональностью, синтаксисом команд, строкой приветствия, дружелюбностью к пользователю и другими параметрами и возможностями.
Как определить текущую командую оболочку
Есть несколько способов определить оболочку, используемую по умолчанию в вашей системе Linux. Рассмотрим несколько из них, так как в разных системах (и оболочках) какие-то способы могут не сработать.
Также нужно знать, что у разных пользователей системы могут использоваться разные оболочки.
Способ 1
Переменная окружения SHELL хранит путь до исполняемого файла оболочки. Выполним команду:
Из вывода команды, мы видим, что используется оболочка bash.
Способ 2
Также можно воспользоваться командой echo $0 . Данная команда выведет на экран имя текущего работающего процесса, внутри которого она выполнена. Так как мы выполняем команду внутри оболочки, то будет выведено имя оболочки.
Способ 3
Определим, работающий процесс оболочки командой ps.

Как посмотреть список оболочек, доступных в системе
Список оболочек, которые в данный момент установлены и доступны в системе Linux, хранится в файле /etc/shells
Выведем содержимое файла /etc/shells , для этого выполняем команду:

Как временно переключиться на другую оболочку
Чтобы временно переключиться на другую оболочку, достаточно выполнить в терминале команду, соответствующую ее имени. После этого вы переключитесь на новую оболочку.
Например, переключимся на оболочку sh. Выполняем команду:

Как изменить оболочку
Для изменения командной оболочки на постоянной основе служит команда chsh (от слов change shell).
Чтобы изменить оболочку текущего пользователя нужно выполнить команду:
В качестве параметра путь_новой_оболочки необходимо указать путь до исполняемого файла оболочки, который вы можете найти в файле /etc/shells (см. выше).
Например, изменим оболочку на sh. Для этого выполняем команду (при выполнении команды нужно будет ввести пароль):
После этого нужно выйти и снова войти в систему.
Чтобы изменить оболочку, используемую по умолчанию, для другого пользователя, то команде chsh необходимо указать имя этого пользователя:
Заключение
Мы рассмотрели, как определить текущую оболочку Linux, как просмотреть список доступных оболочек, а также как изменить оболочку, используемую по умолчанию.
Чтобы получить информацию о какой-либо оболочке (доступной в системе) можно воспользоваться Man-страницами. Например:
Дополнительные оболочки можно устанавливать средствами системы (из репозиториев). Например, для установки оболочки fish в Ubuntu Linux, выполните команду
Как узнать, какую оболочку я использую в Linux
Вопрос: я часто переключаюсь между разными оболочками в командной строке. Есть ли быстрый и простой способ узнать, в какой оболочке я сейчас нахожусь? И как узнать версию оболочки?
Узнайте, в какой оболочке вы находитесь
Есть разные способы узнать, в какой оболочке вы сейчас находитесь. Самый простой способ узнать это — использовать специальные параметры оболочки.
Во-первых, специальный параметр с именем $$ обозначает PID текущего запущенного вами экземпляра оболочки. Этот параметр доступен только для чтения и не может быть изменен. Таким образом, следующая команда также покажет вам имя оболочки, которую вы используете:
Приведенная выше команда работает во всех доступных оболочках.
Если вы не используете csh , другим способом узнать текущую оболочку является использование специального параметра оболочки с именем $0 , обозначающего имя оболочки или сценария оболочки, который в настоящее время работает. Это один из специальных параметров Bash, но он доступен и в других оболочках, таких как sh , zsh , tcsh или dash. . Использование команды echo для вывода ее значения сообщит вам имя оболочки, в которой вы сейчас находитесь.
Не путайте с отдельной переменной окружения с именем $SHELL , для которой задан полный путь к вашей по умолчанию оболочке. Таким образом, эта переменная не обязательно указывает на текущую оболочку, которую вы используете. Например, $SHELL остается прежним, даже если вы вызываете другую оболочку в терминале.

Короче говоря, чтобы узнать текущую оболочку, вы должны использовать либо $$ , либо $0 , но не $SHELL .
Узнайте версию оболочки, которую вы используете
Как только вы узнаете, в какой оболочке вы находитесь, вы можете захотеть узнать, какая у вас версия оболочки. Для этого введите имя вашей оболочки, а затем —version в командной строке. Например:
Для bash :
Для zsh :
Для tcsh :
Для некоторых оболочек вы также можете использовать переменные оболочки (например, $BASH_VERSION или $ZSH_VERSION ).
Как узнать текущую shell в Linux
Среди обилия командных оболочек (shell) в Linux, часто распространены такие оболочки как sh, bash, csh, tsch. Когда вы программируете в Linux, или просто работаете в командной строке, важно знать какую оболочку в данный момент вы используете.
Этот совет поможет вам узнать название shell, используемой в текущий момент.
-
.
Выполните в командной строке следующую команду: echo $SHELL Эта команда отобразит название используемой shell:
Остались вопросы?
Если у Вас что-то не получилось или остались вопросы по данной проблеме — обратитесь к автору и он Вам поможет.
Станьте одним из экспертов!
Мы будем рады видеть в своих рядах людей, которые могут поделиться своим опытом с другими!