Ответ 1
Это будет сделано:
$SHELL --version
В моем случае вывод:
zsh 5.0.2 (x86_64-pc-linux-gnu)
Я хотел бы узнать о моей версии оболочки, используя команду Linux. Я пробовал следующую команду, но он показывает тип оболочки, в которой я находится.
Команда:
echo $SHELL
Результат:
/bin/bash
Это будет сделано:
$SHELL --version
В моем случае вывод:
zsh 5.0.2 (x86_64-pc-linux-gnu)
Это зависит от того, хотите ли вы узнать версию используемой по умолчанию оболочки входа в систему или версию оболочки, которую вы используете в данный момент. Они не обязательно одинаковы.
Как указано в принятом ответе, для вашей оболочки входа по умолчанию $SHELL --version
, вероятно, будет работать. Большинство (но не все) оболочки принимают опцию --version
. (dash
этого не делает.) И это предполагает, что значение $SHELL
не изменилось (могут быть веские причины для этого).
Для оболочки, которую вы сейчас используете, если это bash
, вы можете набрать:
echo $BASH_VERSION
Для tcsh
:
echo $version
Для zsh
:
echo $ZSH_VERSION
echo $ZSH_PATCHLEVEL # shows more detailed information
Для ksh
:
echo $KSH_VERSION
Для fish
:
echo $version
Опять же, это предполагает, что соответствующая переменная не была изменена (редко есть не злонамеренная причина для ее изменения).
Bash, в частности, имеет переменную-массив $BASH_VERSINFO
, которая дает больше информации в форме, которую легче обрабатывать программно. Печать $BASH_VERSINFO
печатает только первый элемент; распечатать все элементы:
echo "${BASH_VERSINFO[@]}"