Как найти версию bash, которую я запускаю?

В Reddit я увидел решение:

apt-get install libpango1.0-0:i386
apt-get -f install
145
задан 2 May 2011 в 23:18

60 ответов

Параметр -v для bash означает подробное описание и инструктирует bash распечатать как можно больше информации о том, что он делает. При запуске он распечатает всю конфигурацию, в которой он читает.

Чтобы распечатать информацию о версии для bash, используйте bash --version.

133
ответ дан 25 May 2018 в 21:39
  • 1
    Большой! Я также нашел список переключателей для bash . – Zabba 2 May 2011 в 22:21
  • 2
    Кроме того, если вы уже используете оболочку bash, вы можете выводить содержимое специальной переменной BASH_VERSION. [F1]. Существует также специальный массив (BASH_VERSINFO), содержащий каждый номер версии в отдельных элементах. [F2] – geirha 3 May 2011 в 01:42
  • 3
    typo, должно быть что-то вроде [ "${BASH_VERSINFO}" -lt 4 ] или [ "${BASH_VERSINFO[0]}" -lt 4 ] – bufh 22 April 2015 в 14:51
  • 4
    Слишком многословно, гораздо проще с askubuntu.com/a/899187/1004 – sorin 1 April 2017 в 17:30
  • 5
    Проблема с этим методом заключается в том, что вы не можете быть на 100% уверены, что любой скрипт, символическая ссылка или любая другая конфигурация беспорядка, которая изменила любую переменную среды при входе в систему. Как я уже сказал ниже, Ctrl + x Ctrl + v покажет вам именно версию bash, которую вы сейчас используете, вне зависимости от какой-либо переменной среды. – vegatripy 11 July 2017 в 11:53

Параметр -v для bash означает подробное описание и инструктирует bash распечатать как можно больше информации о том, что он делает. При запуске он распечатает всю конфигурацию, в которой он читает.

Чтобы распечатать информацию о версии для bash, используйте bash --version.

137
ответ дан 25 July 2018 в 22:03

Параметр -v для bash означает подробное описание и инструктирует bash распечатать как можно больше информации о том, что он делает. При запуске он распечатает всю конфигурацию, в которой он читает.

Чтобы распечатать информацию о версии для bash, используйте bash --version.

138
ответ дан 31 July 2018 в 10:25

Параметр -v для bash означает подробное описание и инструктирует bash распечатать как можно больше информации о том, что он делает. При запуске он распечатает всю конфигурацию, в которой он читает.

Чтобы распечатать информацию о версии для bash, используйте bash --version.

138
ответ дан 31 July 2018 в 11:28

Параметр -v для bash означает подробное описание и инструктирует bash распечатать как можно больше информации о том, что он делает. При запуске он распечатает всю конфигурацию, в которой он читает.

Чтобы распечатать информацию о версии для bash, используйте bash --version.

138
ответ дан 2 August 2018 в 03:35

Параметр -v для bash означает подробное описание и инструктирует bash распечатать как можно больше информации о том, что он делает. При запуске он распечатает всю конфигурацию, в которой он читает.

Чтобы распечатать информацию о версии для bash, используйте bash --version.

138
ответ дан 4 August 2018 в 19:36

Параметр -v для bash означает многословность и дает указание bash распечатать как можно больше информации о том, что он делает. При запуске он распечатает всю конфигурацию, в которой он читает.

Чтобы распечатать информацию о версии для bash, используйте bash --version .

138
ответ дан 6 August 2018 в 03:42

Параметр -v для bash означает многословность и дает указание bash распечатать как можно больше информации о том, что он делает. При запуске он распечатает всю конфигурацию, в которой он читает.

Чтобы распечатать информацию о версии для bash, используйте bash --version .

138
ответ дан 7 August 2018 в 21:36

Параметр -v для bash означает многословность и дает указание bash распечатать как можно больше информации о том, что он делает. При запуске он распечатает всю конфигурацию, в которой он читает.

Чтобы распечатать информацию о версии для bash, используйте bash --version .

138
ответ дан 10 August 2018 в 09:51

Параметр -v для bash означает многословность и дает указание bash распечатать как можно больше информации о том, что он делает. При запуске он распечатает всю конфигурацию, в которой он читает.

Чтобы распечатать информацию о версии для bash, используйте bash --version .

138
ответ дан 13 August 2018 в 16:07
  • 1
  • 2
    Кроме того, если вы уже используете оболочку bash, вы можете выводить содержимое специальной переменной BASH_VERSION. echo & quot; $ BASH_VERSION & quot; . Существует также специальный массив (BASH_VERSINFO), содержащий каждый номер версии в отдельных элементах. , если ((BASH_VERSINFO [0] & lt; 4)); затем echo & quot; Извините, вам нужен хотя бы bash-4.0 для запуска этого скрипта. & quot; & GT; & амп; 2; выход 1; фи – geirha 3 May 2011 в 01:42
  • 3
    typo, должно быть что-то вроде [& quot; $ {BASH_VERSINFO} & quot; -lt 4] или ["$ {BASH_VERSINFO [0]}" -lt 4] – bufh 22 April 2015 в 14:51
  • 4
    Слишком многословно, гораздо проще с askubuntu.com/a/899187/1004 – sorin 1 April 2017 в 17:30
  • 5
    Проблема с этим методом заключается в том, что вы не можете быть на 100% уверены, что любой скрипт, символическая ссылка или любая другая конфигурация беспорядка, которая изменила любую переменную среды при входе в систему. Как я уже сказал ниже, Ctrl + x Ctrl + v покажет вам именно версию bash, которую вы сейчас используете, вне зависимости от какой-либо переменной среды. – vegatripy 11 July 2017 в 11:53

При запуске bash (например, из gnome-terminal) вы можете проверить значение переменной среды BASH_VERSION.

$ echo $BASH_VERSION
4.2.37(1)-release

Если значение пустое, вы не работаете bash.

77
ответ дан 25 May 2018 в 21:39
  • 1
    Это лучше, чем просто запуск bash --version, потому что он подтверждает, что вы в настоящее время используете bash, а не только, что у вас установлен bash в вашей системе. – Flimm 11 April 2013 в 14:23
  • 2
    +1 bash --version не показывает bash, который вы используете в данный момент. – gabeio 6 March 2014 в 07:38
  • 3
    Остерегайтесь: набор BASH_VERSION не гарантирует, что вы выполняете bash: export BASH_VERSION; csh -c 'echo $BASH_VERSION $SHELL $shell', поэтому $BASH_VERSION может быть установлен в csh, а также – Tino 25 November 2014 в 23:48
  • 4
    @Tino хорошо, вы можете сделать $SHELL --version, но снова SHELL может быть перезаписан (и вся оболочка не поддерживает флаг -version). – bufh 22 April 2015 в 14:43

Существует ключевой ярлык, который указывает текущую информацию о оболочке:

Ctrl + x Ctrl + v

Из man bash

   display-shell-version (C-x C-v)
          Display version information about the current instance of bash.

Это лучший выбор, если вы перепутали переменные среды.

31
ответ дан 25 May 2018 в 21:39

Нет, все в порядке. Из man bash:

   --verbose
          Equivalent to  -v.

Это не так тихо, как обычно. Попробуйте

--version 

.

8
ответ дан 25 May 2018 в 21:39

Обычный --version может дать вам слишком много многострочного шаблона, поэтому я использую

bash -c 'echo $BASH_VERSION'
1
ответ дан 25 May 2018 в 21:39
  • 1
    Дубликат ответа Pawel – wjandrea 1 April 2017 в 17:49
  • 2
    @wjandrea Это отличается от ответа Paweł Nadolski . Он запускает команду в новой оболочке bash. Один из способов, которым это полезно, это то, что ему не нужна оболочка, которая в настоящее время используется bash. Другое дело, что даже в bash возможно (хотя не good ) установить BASH_VERSION на другое значение. Он может даже экспортироваться как переменная среды. Однако даже после запуска export BASH_VERSION=foobar приведенный здесь метод работает, так как новая оболочка bash автоматически сбрасывает свой собственный BASH_VERSION перед выполнением расширения параметра, которое его читает. – Eliah Kagan 28 September 2017 в 20:02
  • 3
    @EliahKagan Хорошая точка, спасибо! – wjandrea 28 September 2017 в 20:23
  • 4
    @EliahKagan, в моем обновленном & amp; обновленная установленная 16.04 LTS-система, установленная из файла iso 16.04.1, bash --version говорит, что 4.3.48(1)-release и apt-cache policy bash говорит 4.3-14ubuntu1.2, и я проверил, что исполняемый файл bash поступает из пакета bash. Как это следует интерпретировать? Аналогичное несоответствие существует для usb-creator-gtk, и в этом случае вывод apt-cache корректен. - Можем ли мы заключить, что номер более высокой версии является правильным (и кто-то забыл обновить другой)? – sudodus 21 February 2018 в 19:58

Чтобы получить версию, а не многострочный текст:

$ bash --version | head -1 | cut -d ' ' -f 4
0
ответ дан 25 May 2018 в 21:39

Чтобы получить версию, а не многострочный текст:

$ bash --version | head -1 | cut -d ' ' -f 4
0
ответ дан 25 July 2018 в 22:03

Существует ключевой ярлык, который указывает текущую информацию о оболочке:

Ctrl + x Ctrl + v

Из man bash

display-shell-version (C-x C-v) Display version information about the current instance of bash.

Это лучший выбор, если вы перепутали переменные среды.

31
ответ дан 25 July 2018 в 22:03

При запуске bash (например, из gnome-terminal) вы можете проверить значение переменной среды BASH_VERSION.

$ echo $BASH_VERSION 4.2.37(1)-release

Если значение пустое, вы не работаете bash.

80
ответ дан 25 July 2018 в 22:03
  • 1
    Это лучше, чем просто запуск bash --version, потому что он подтверждает, что вы в настоящее время используете bash, а не только, что у вас установлен bash в вашей системе. – Flimm 11 April 2013 в 14:23
  • 2
    +1 bash --version не показывает bash, который вы используете в данный момент. – gabeio 6 March 2014 в 07:38
  • 3
    Остерегайтесь: набор BASH_VERSION не гарантирует, что вы выполняете bash: export BASH_VERSION; csh -c 'echo $BASH_VERSION $SHELL $shell', поэтому $BASH_VERSION может быть установлен в csh, а также – Tino 25 November 2014 в 23:48
  • 4
    @Tino хорошо, вы можете сделать $SHELL --version, но снова SHELL может быть перезаписан (и вся оболочка не поддерживает флаг -version). – bufh 22 April 2015 в 14:43

Обычный --version может дать вам слишком много многострочного шаблона, поэтому я использую

bash -c 'echo $BASH_VERSION'
1
ответ дан 25 July 2018 в 22:03
  • 1
    Дубликат ответа Pawel – wjandrea 1 April 2017 в 17:49
  • 2
    @wjandrea Это отличается от ответа Paweł Nadolski . Он запускает команду в новой оболочке bash. Один из способов, которым это полезно, это то, что ему не нужна оболочка, которая в настоящее время используется bash. Другое дело, что даже в bash возможно (хотя не good ) установить BASH_VERSION на другое значение. Он может даже экспортироваться как переменная среды. Однако даже после запуска export BASH_VERSION=foobar приведенный здесь метод работает, так как новая оболочка bash автоматически сбрасывает свой собственный BASH_VERSION перед выполнением расширения параметра, которое его читает. – Eliah Kagan 28 September 2017 в 20:02
  • 3
    @EliahKagan Хорошая точка, спасибо! – wjandrea 28 September 2017 в 20:23
  • 4
    @EliahKagan, в моем обновленном & amp; обновленная установленная 16.04 LTS-система, установленная из файла iso 16.04.1, bash --version говорит, что 4.3.48(1)-release и apt-cache policy bash говорит 4.3-14ubuntu1.2, и я проверил, что исполняемый файл bash поступает из пакета bash. Как это следует интерпретировать? Аналогичное несоответствие существует для usb-creator-gtk, и в этом случае вывод apt-cache корректен. - Можем ли мы заключить, что номер более высокой версии является правильным (и кто-то забыл обновить другой)? – sudodus 21 February 2018 в 19:58

Нет, все в порядке. Из man bash:

--verbose Equivalent to -v.

Это не так тихо, как обычно. Попробуйте

--version

.

8
ответ дан 25 July 2018 в 22:03

Чтобы получить версию, а не многострочный текст:

$ bash --version | head -1 | cut -d ' ' -f 4
0
ответ дан 31 July 2018 в 10:25

Существует ключевой ярлык, который указывает текущую информацию о оболочке:

Ctrl + x Ctrl + v

Из man bash

display-shell-version (C-x C-v) Display version information about the current instance of bash.

Это лучший выбор, если вы перепутали переменные среды.

31
ответ дан 31 July 2018 в 10:25

При запуске bash (например, из gnome-terminal) вы можете проверить значение переменной среды BASH_VERSION.

$ echo $BASH_VERSION 4.2.37(1)-release

Если значение пустое, вы не работаете bash.

80
ответ дан 31 July 2018 в 10:25
  • 1
    Это лучше, чем просто запуск bash --version, потому что он подтверждает, что вы в настоящее время используете bash, а не только, что у вас установлен bash в вашей системе. – Flimm 11 April 2013 в 14:23
  • 2
    +1 bash --version не показывает bash, который вы используете в данный момент. – gabeio 6 March 2014 в 07:38
  • 3
    Остерегайтесь: набор BASH_VERSION не гарантирует, что вы выполняете bash: export BASH_VERSION; csh -c 'echo $BASH_VERSION $SHELL $shell', поэтому $BASH_VERSION может быть установлен в csh, а также – Tino 25 November 2014 в 23:48
  • 4
    @Tino хорошо, вы можете сделать $SHELL --version, но снова SHELL может быть перезаписан (и вся оболочка не поддерживает флаг -version). – bufh 22 April 2015 в 14:43

Обычный --version может дать вам слишком много многострочного шаблона, поэтому я использую

bash -c 'echo $BASH_VERSION'
1
ответ дан 31 July 2018 в 10:25
  • 1
    Дубликат ответа Pawel – wjandrea 1 April 2017 в 17:49
  • 2
    @wjandrea Это отличается от ответа Paweł Nadolski . Он запускает команду в новой оболочке bash. Один из способов, которым это полезно, это то, что ему не нужна оболочка, которая в настоящее время используется bash. Другое дело, что даже в bash возможно (хотя не good ) установить BASH_VERSION на другое значение. Он может даже экспортироваться как переменная среды. Однако даже после запуска export BASH_VERSION=foobar приведенный здесь метод работает, так как новая оболочка bash автоматически сбрасывает свой собственный BASH_VERSION перед выполнением расширения параметра, которое его читает. – Eliah Kagan 28 September 2017 в 20:02
  • 3
    @EliahKagan Хорошая точка, спасибо! – wjandrea 28 September 2017 в 20:23
  • 4
    @EliahKagan, в моем обновленном & amp; обновленная установленная 16.04 LTS-система, установленная из файла iso 16.04.1, bash --version говорит, что 4.3.48(1)-release и apt-cache policy bash говорит 4.3-14ubuntu1.2, и я проверил, что исполняемый файл bash поступает из пакета bash. Как это следует интерпретировать? Аналогичное несоответствие существует для usb-creator-gtk, и в этом случае вывод apt-cache корректен. - Можем ли мы заключить, что номер более высокой версии является правильным (и кто-то забыл обновить другой)? – sudodus 21 February 2018 в 19:58

Нет, все в порядке. Из man bash:

--verbose Equivalent to -v.

Это не так тихо, как обычно. Попробуйте

--version

.

8
ответ дан 31 July 2018 в 10:25

Чтобы получить версию, а не многострочный текст:

$ bash --version | head -1 | cut -d ' ' -f 4
0
ответ дан 31 July 2018 в 11:28

Существует ключевой ярлык, который указывает текущую информацию о оболочке:

Ctrl + x Ctrl + v

Из man bash

display-shell-version (C-x C-v) Display version information about the current instance of bash.

Это лучший выбор, если вы перепутали переменные среды.

31
ответ дан 31 July 2018 в 11:28

При запуске bash (например, из gnome-terminal) вы можете проверить значение переменной среды BASH_VERSION.

$ echo $BASH_VERSION 4.2.37(1)-release

Если значение пустое, вы не работаете bash.

80
ответ дан 31 July 2018 в 11:28
  • 1
    Это лучше, чем просто запуск bash --version, потому что он подтверждает, что вы в настоящее время используете bash, а не только, что у вас установлен bash в вашей системе. – Flimm 11 April 2013 в 14:23
  • 2
    +1 bash --version не показывает bash, который вы используете в данный момент. – gabeio 6 March 2014 в 07:38
  • 3
    Остерегайтесь: набор BASH_VERSION не гарантирует, что вы выполняете bash: export BASH_VERSION; csh -c 'echo $BASH_VERSION $SHELL $shell', поэтому $BASH_VERSION может быть установлен в csh, а также – Tino 25 November 2014 в 23:48
  • 4
    @Tino хорошо, вы можете сделать $SHELL --version, но снова SHELL может быть перезаписан (и вся оболочка не поддерживает флаг -version). – bufh 22 April 2015 в 14:43

Обычный --version может дать вам слишком много многострочного шаблона, поэтому я использую

bash -c 'echo $BASH_VERSION'
1
ответ дан 31 July 2018 в 11:28
  • 1
    Дубликат ответа Pawel – wjandrea 1 April 2017 в 17:49
  • 2
    @wjandrea Это отличается от ответа Paweł Nadolski . Он запускает команду в новой оболочке bash. Один из способов, которым это полезно, это то, что ему не нужна оболочка, которая в настоящее время используется bash. Другое дело, что даже в bash возможно (хотя не good ) установить BASH_VERSION на другое значение. Он может даже экспортироваться как переменная среды. Однако даже после запуска export BASH_VERSION=foobar приведенный здесь метод работает, так как новая оболочка bash автоматически сбрасывает свой собственный BASH_VERSION перед выполнением расширения параметра, которое его читает. – Eliah Kagan 28 September 2017 в 20:02
  • 3
    @EliahKagan Хорошая точка, спасибо! – wjandrea 28 September 2017 в 20:23
  • 4
    @EliahKagan, в моем обновленном & amp; обновленная установленная 16.04 LTS-система, установленная из файла iso 16.04.1, bash --version говорит, что 4.3.48(1)-release и apt-cache policy bash говорит 4.3-14ubuntu1.2, и я проверил, что исполняемый файл bash поступает из пакета bash. Как это следует интерпретировать? Аналогичное несоответствие существует для usb-creator-gtk, и в этом случае вывод apt-cache корректен. - Можем ли мы заключить, что номер более высокой версии является правильным (и кто-то забыл обновить другой)? – sudodus 21 February 2018 в 19:58

Нет, все в порядке. Из man bash:

--verbose Equivalent to -v.

Это не так тихо, как обычно. Попробуйте

--version

.

8
ответ дан 31 July 2018 в 11:28

Другие вопросы по тегам:

Похожие вопросы: