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

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

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

60 ответов

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

$ bash --version | head -1 | cut -d ' ' -f 4
0
ответ дан 2 August 2018 в 03:35

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

Ctrl + x Ctrl + v

Из man bash

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

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

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

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

$ echo $BASH_VERSION 4.2.37(1)-release

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

81
ответ дан 2 August 2018 в 03:35
  • 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
ответ дан 2 August 2018 в 03:35
  • 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
ответ дан 2 August 2018 в 03:35

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

$ bash --version | head -1 | cut -d ' ' -f 4
0
ответ дан 4 August 2018 в 19:36

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

Ctrl + x Ctrl + v

Из man bash

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

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

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

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

$ echo $BASH_VERSION 4.2.37(1)-release

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

81
ответ дан 4 August 2018 в 19:36
  • 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
ответ дан 4 August 2018 в 19:36
  • 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
ответ дан 4 August 2018 в 19:36

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

Ctrl + x Ctrl + v

Из man bash

  display-shell-version (Cx Cv) Отображает информацию о текущем экземпляре bash.   

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

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

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

  $ echo $ BASH_VERSION  4.2.37 (1) -release  

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

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

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

  bash -c 'echo $ BASH_VERSION'  
1
ответ дан 6 August 2018 в 03:42

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

  --verbose Equivalent -v.   

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

  - версию  

вместо этого.

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

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

  $ bash --version |  head -1 |  cut -d '' -f 4  
0
ответ дан 6 August 2018 в 03:42

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

  bash -c 'echo $ BASH_VERSION'  
1
ответ дан 7 August 2018 в 21:36

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

  --verbose Equivalent -v.   

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

  - версию  

вместо этого.

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

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

Ctrl + x Ctrl + v

Из man bash

  display-shell-version (Cx Cv) Отображает информацию о текущем экземпляре bash.   

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

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

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

  $ echo $ BASH_VERSION  4.2.37 (1) -release  

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

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

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

  $ bash --version |  head -1 |  cut -d '' -f 4  
0
ответ дан 7 August 2018 в 21:36

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

  $ echo $ BASH_VERSION  4.2.37 (1) -release  

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

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

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

  bash -c 'echo $ BASH_VERSION'  
1
ответ дан 10 August 2018 в 09:51

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

  --verbose Equivalent -v.   

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

  - версию  

вместо этого.

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

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

  $ bash --version |  head -1 |  cut -d '' -f 4  
0
ответ дан 10 August 2018 в 09:51

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

Ctrl + x Ctrl + v

Из man bash

  display-shell-version (Cx Cv) Отображает информацию о текущем экземпляре bash.   

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

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

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

  bash -c 'echo $ BASH_VERSION'  
1
ответ дан 13 August 2018 в 16:07
  • 1
    Дубликат ответа Pawel – wjandrea 1 April 2017 в 17:49
  • 2
    @wjandrea Это отличается от ответа Paweł Nadolski . Он запускает команду в новой оболочке bash . Один из способов полезен в том, что ему не нужна оболочка, которая в настоящее время используется bash . Другое дело, что даже в bash возможно (хотя не good ) установить BASH_VERSION на другое значение. Он может даже экспортироваться как переменная среды. Однако даже после запуска экспорта 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 bash говорит 4.3-14ubuntu1.2 , и я проверил, что исполняемый файл bash поступает из пакета bash. Как это следует интерпретировать? Аналогичное несоответствие для usb-creator-gtk , и в этом случае вывод apt-cache корректен. - Можем ли мы заключить, что номер более высокой версии является правильным (и кто-то забыл обновить другой)? – sudodus 21 February 2018 в 19:58

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

  --verbose Equivalent -v.   

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

  - версию  

вместо этого.

8
ответ дан 13 August 2018 в 16:07

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

  $ echo $ BASH_VERSION  4.2.37 (1) -release  

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

82
ответ дан 13 August 2018 в 16:07
  • 1
  • 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 (Cx Cv) Отображает информацию о текущем экземпляре bash.   

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

31
ответ дан 13 August 2018 в 16:07

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

  $ bash --version |  head -1 |  cut -d '' -f 4  
0
ответ дан 13 August 2018 в 16:07

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

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