как узнать shell linux
Как узнать свою версию Bash
Если у вас не работают примеры Bash кода, которые вы нашли онлайн или в учебниках, то одной из причин проблем может быть несоответствие версий. Или даже у вас может быть запущен не Bash, а одна из других многочисленных оболочек Linux.
Данная статья расскажет, как проверить используемую версию Bash и как убедиться, что вы работаете именно в Bash, а не в другой оболочке.
Этот метод проверить версию Bash также позволит вам убедиться, что вы работаете именно в Bash:
Если вы используете другую оболочку, то ничего не будет выведено.
Следующее сочетание клавиш покажет информацию о текущем экземпляре Bash, возможно вам будет проще его запомнить, чем имя переменной окружения:
Ctrl+x Ctrl+v
Запуск bash с опцией —version:
Помните, что в этом случае версия bash будет выведена даже если в вашей текущей оболочке не используется bash, но bash установлен в системе.
Если у вас система в обновлённом состоянии, то вы можете проверить версию Bash в репозиториях вашего дистрибутива — она будет соответствовать версии в вашей системе.
Для Debian, Linux Mint, Ubuntu, Kali Linux и их производных это можно сделать следующей командой:
Как узнать, какая оболочка используется в Linux
Оболочки Linux
Существует несколько оболочек Linux, каждая из которых имеет свои особенности. Примеры популярных оболочек: Bash (является оболочкой по умолчанию на множестве дистрибутивов) и ZSH (по умолчанию является оболочкой на Kali Linux, имеет много поклонников).
Чтобы узнать, какая оболочка используется, выполните команду:
Посмотрите, что именно будет выведено:
Как узнать, какая в действительности используется оболочка Linux
Но действительно ли всё так просто с оболочками?
Посмотрите на следующий скриншот и попробуйте угадать, какая оболочка будет обрабатывать последующие команды?
На скриншоте чётко видно, что команда вывела «/usr/bin/zsh», поэтому можно сказать, что используется оболочка ZSH.
Но это неправильный ответ.
Да, оболочкой по умолчанию в этой системе является ZSH, но чуть выше выполнена команда
и даже хотя оформление или приглашение командной строки не поменялось, теперь введённые команды обрабатывает Bash.
Это легко доказать, если выполнить команду
то Bash покажет краткую справку по своим командам. А ZSH выведет сообщение, что команда не найдена:
Что же на самом деле показывает переменная $SHELL? Видимо, это просто оболочка, используемая по умолчанию в данной системе, без учёта того, что пользователь мог запустить другую оболочку. Тем не менее вывод значение переменный $SHELL в большинстве случаев ответит на вопрос, какая оболочка используется на этой системе.
Чтобы убедиться, что используется Bash, можно выполнить команду:
Ещё один способ «узнать» Bash, это посмотреть на реакцию последовательного нажатия сочетания клавиш Ctrl+x Ctrl+v. В ответ на это Bash выведет примерно следующую строку:
Как определить и изменить командную оболочку (shell) в Linux
Что такое командная оболочка
Командная оболочка или командный интерпретатор в Linux — это программа, которая в текстовой среде выступает в качестве интерфейса между пользователем и операционной системой. Она интерпретирует вводимые команды с терминала и вызывает необходимые программы.
Когда вы работаете в терминале, именно командная оболочка обрабатывает вводимые вами команды. Более того, оболочки Linux поддерживают написание программ на языке оболочки.
Оболочки Linux
Одна из самых популярных командных оболочек — это оболочка Bash (Bourne Again Shell). Она используется по умолчанию в большинстве дистрибутивов Linux.
Существуют разные оболочки Linux. Можно отметить:
Оболочки могут очень сильно отличаться друг от друга. Они отличаются функциональностью, синтаксисом команд, строкой приветствия, дружелюбностью к пользователю и другими параметрами и возможностями.
Как определить текущую командую оболочку
Есть несколько способов определить оболочку, используемую по умолчанию в вашей системе Linux. Рассмотрим несколько из них, так как в разных системах (и оболочках) какие-то способы могут не сработать.
Также нужно знать, что у разных пользователей системы могут использоваться разные оболочки.
Способ 1
Переменная окружения SHELL хранит путь до исполняемого файла оболочки. Выполним команду:
Из вывода команды, мы видим, что используется оболочка bash.
Способ 2
Способ 3
Определим, работающий процесс оболочки командой ps.
Как посмотреть список оболочек, доступных в системе
Список оболочек, которые в данный момент установлены и доступны в системе Linux, хранится в файле /etc/shells
Как временно переключиться на другую оболочку
Чтобы временно переключиться на другую оболочку, достаточно выполнить в терминале команду, соответствующую ее имени. После этого вы переключитесь на новую оболочку.
Например, переключимся на оболочку sh. Выполняем команду:
Как изменить оболочку
Для изменения командной оболочки на постоянной основе служит команда chsh (от слов change shell).
Чтобы изменить оболочку текущего пользователя нужно выполнить команду:
В качестве параметра путь_новой_оболочки необходимо указать путь до исполняемого файла оболочки, который вы можете найти в файле /etc/shells (см. выше).
Например, изменим оболочку на sh. Для этого выполняем команду (при выполнении команды нужно будет ввести пароль):
После этого нужно выйти и снова войти в систему.
Чтобы изменить оболочку, используемую по умолчанию, для другого пользователя, то команде chsh необходимо указать имя этого пользователя:
Заключение
Мы рассмотрели, как определить текущую оболочку Linux, как просмотреть список доступных оболочек, а также как изменить оболочку, используемую по умолчанию.
Чтобы получить информацию о какой-либо оболочке (доступной в системе) можно воспользоваться Man-страницами. Например:
Дополнительные оболочки можно устанавливать средствами системы (из репозиториев). Например, для установки оболочки fish в Ubuntu Linux, выполните команду
Как узнать shell linux
Как узнать в каком я интерпретаторе работаю? Какая команда нужна для етого
Из тех что знаю chsh или посмотреть на вид ком строки или посмотреть в файл /etc/passwd
Но ведь есть же команда
И что такое пользователь toor
1. «Как узнать в каком я интерпретаторе работаю» | + / – | |
Сообщение от Oyyo on 18-Апр-07, 00:00 | ||
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору |
2. «Как узнать в каком я интерпретаторе работаю» | + / – | |
Сообщение от Anonymous on 18-Апр-07, 00:03 | ||
| ||
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору |
3. «Как узнать в каком я интерпретаторе работаю» | + / – | |
Сообщение от YuryD (??) on 18-Апр-07, 09:24 | ||
Не факт, это всего лишь имя файла выполняемого шелла, есть любители симлинки делать или переименовывать файлы. | ||
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору |
4. «Как узнать в каком я интерпретаторе работаю» | + / – | |
Сообщение от newser (ok) on 18-Апр-07, 09:44 | ||
Ну а кто мешает это выяснить? | ||
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору |
5. «Как узнать в каком я интерпретаторе работаю» | + / – | |
Сообщение от bill (ok) on 18-Апр-07, 11:04 | ||
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору |
6. «Как узнать в каком я интерпретаторе работаю» | + / – | |
Сообщение от newser (ok) on 18-Апр-07, 11:35 | ||
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору |
7. «Как узнать в каком я интерпретаторе работаю» | + / – | |
Сообщение от YuryD (??) on 18-Апр-07, 11:57 | ||
Еще круче shell=/bin/csh | ||
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору |
9. «Как узнать в каком я интерпретаторе работаю» | + / – | |
Сообщение от bill (ok) on 18-Апр-07, 12:53 | ||
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору |
8. «Как узнать в каком я интерпретаторе работаю» | + / – | |
Сообщение от bill (ok) on 18-Апр-07, 12:48 | ||
Существует две разновидности shell: Bourne-like и C Shell-like. Между ними есть различия, желательно их знать, уметь обращаться и с теми, и с другими. Тогда Ваш первоначальный вопрос вряд ли будет иметь значение. C Shell-like: C Shell (csh) и TC Shell (tcsh). Собственно, понять, с какой разновидностью имеем дело, можно, например, просто попробовав присвоить некой переменной значение: Для csh-like:
🐚 Как проверить, какую оболочку вы используете на LinuxПо умолчанию Linux предоставляет широкий выбор оболочек. Существует оболочка bash (Bourne Again shell), которая по умолчанию поставляется во многих системах. У нас также есть sh (оболочка Bourne), tcsh (оболочка TC), csh (оболочка C), Zsh (оболочка Z) и ksh (оболочка Korn). Хотите узнать, какую оболочку вы используете в своей системе Linux? В этом руководстве мы исследуем различные способы, которые вы можете использовать, чтобы проверить, какую оболочку вы используете на своей Linux машине. 1) Используя команды echoКоманда Linux echo – это встроенная команда, которая используется для вывода строки, переданной в качестве аргумента. Кроме того, вы можете использовать команду echo для проверки оболочки, в которой вы выполняете команды. Для этого выполните: Чтобы получить PID оболочки, в которой вы сейчас находитесь, запустите: 2) Используя команду psКоманда ps в своем базовом формате, обычно используемая для вывода списка запущенных процессов, также проливает свет на оболочку, которую вы используете. Просто выполните команду: Из первой строки вывода мы можем ясно видеть PID оболочки, а последний столбец выводит тип оболочки, в данном случае – bash. В качестве альтернативы вы можете запустить команду: 3) Проверим оболочку, просмотрев файл /etc/passwdМожно использовать команду gre для проверки файла /etc/ passwd, который содержит атрибуты пользователей, такие как имя пользователя, идентификатор пользователя и идентификатор группы. Чтобы отобразить используемую оболочку, вызовите команду: В самом последнем сегменте мы увидим используемый bash, в данном случае /bin/bash. Это также дает вам представление о том, какая оболочка открывается первой при первом входе в систему. 3) Проверим оболочку с помощью команды lsofОбычно команда lsof, сокращение от list of open files, используется для предоставления списка открытых файлов в вашей системе. Например, мы ясно увидим, что находимся в оболочке bash. Как проверить доступные оболочки Мы разобрали различные способы, которые вы можете использовать для проверки оболочки, в которой вы сейчас находитесь. Если вы хотите узнать допустимые оболочки в вашей системе, проверьте файл /etc/shells. Этот файл предоставит вам полные пути к действительным оболочкам. Используя команду cat, просмотрите файл, как показано далее: ЗаключениеВ этом руководстве мы поделились простыми, но изящными способами, которые вы можете использовать, чтобы узнать, под какой оболочкой вы работаете. Это важно при написании скриптов, чтобы вы могли знать, как написать заголовок shebang. Мы очень надеемся, что это руководство было полезным. Отправьте нам сообщение и не забудьте поделиться этим руководством в социальных сетях.
|