Что такое команда 'bash' в bash?

Я просто набрал bash в терминале Ubuntu, и это было как обычно. Но после этого мне пришлось дважды напечатать exit. Что такое команда bash в bash?

4
задан 1 August 2020 в 13:05

4 ответа

Между оболочками и эмуляторами терминала есть разница.

Оболочка - это то, что передает ваши команды ядру и оно выполняется. А программы-эмуляторы терминала позволяют взаимодействовать с оболочкой. Примеры эмуляторов терминала: gnome-terminal , konsole , а оболочки - bash , zsh , sh и т. Д. Эмуляторы терминала в большинстве сред рабочего стола называются просто Терминалом.

Когда вы открываете Терминал, он по умолчанию использует оболочку. Для большинства терминалов это bash . Вы можете изменить оболочку по умолчанию. Сначала запустите whoami , чтобы получить свое имя пользователя. Затем запустите cat / etc / passwd | grep user_name , где user_name - ваше имя пользователя. Последнее слово - ваша оболочка по умолчанию. Теперь вы можете изменить свою оболочку с помощью sudo usermod --shell / bin / shell_name user_name .

Также, когда вы набираете bash , он просто открывает другую оболочку. Вы можете просто выйти из другой оболочки, выполнив exit . Например, выполнение zsh или sh перенесет вас в другую оболочку. Вы можете прочитать справочные страницы оболочки с помощью man имя_оболочки , чтобы узнать о различиях между оболочками. Однако страницы руководства чрезвычайно велики и сложны для чтения, от чего у вас закружится голова. Выполнение man имя_оболочки | wc -l даст вам количество строк.

Надеюсь, что это поможет

Вы можете просто выйти из другой оболочки, выполнив exit . Например, выполнение zsh или sh перенесет вас в другую оболочку. Вы можете прочитать справочные страницы оболочки с помощью man имя_оболочки , чтобы узнать о различиях между оболочками. Однако страницы руководства чрезвычайно велики и сложны для чтения, от чего у вас закружится голова. Выполнение man имя_оболочки | wc -l даст вам количество строк.

Надеюсь, что это поможет

Вы можете просто выйти из другой оболочки, выполнив exit . Например, выполнение zsh или sh перенесет вас в другую оболочку. Вы можете прочитать справочные страницы оболочки с помощью man имя_оболочки , чтобы узнать о различиях между оболочками. Однако страницы руководства чрезвычайно велики и сложны для чтения, от чего у вас закружится голова. Выполнение man имя_оболочки | wc -l даст вам количество строк.

Надеюсь, что это поможет

Выполнение man имя_оболочки | wc -l даст вам количество строк.

Надеюсь, что это поможет

Выполнение man имя_оболочки | wc -l даст вам количество строк.

Надеюсь, что это поможет

10
ответ дан 2 August 2020 в 21:59

bash - это интерпретатор команд, оболочка, программа с интерфейсом, который интерпретирует введенные в нее команды.

Когда вы вызываете bash из bash вы просто запускаете новую оболочку «внутри» исходной оболочки. Когда вы выходите из этой второй оболочки, вы возвращаетесь к исходной оболочке. Вы можете выйти из каждой оболочки с помощью команды exit .

21
ответ дан 2 August 2020 в 21:59

Well this hugely depends on the file system and use-case of your Raid partition.

  • If for example you're creating a swap partition - it is normal not to fsck the swap
  • If you're building a rootfs on a Raid device - you should put 1 on there
  • If you're creating some other data storage partition - you should put 2 in the pass coulmn

As per official documentation: https://man7.org/linux/man-pages/man5/fstab.5.html the nr. 1 indicates this should be checked first and number 2 that this should be checked after 1 and in parallel.

пока вы не наберете exit ret .

Вы, вероятно, заметите разницу, если ваша оболочка по умолчанию была Bash!

Теперь, что происходит, когда из командной строки в вашей оболочке по умолчанию (т.е. Bash) вы набираете bash ret ? Именно то, что произошло раньше с Zshell, за исключением того, что труднее сказать, что отличается, потому что вы будете использовать тот же синтаксис, те же встроенные функции и те же псевдонимы / функции оболочки, что и раньше!

Но есть ряд различий, возможно, наиболее очевидная переменная среды SHLV , которую Bash увеличивает при каждом запуске.

вы вводите bash ret ? Именно то, что произошло раньше с Zshell, за исключением того, что труднее сказать, что отличается, потому что вы будете использовать тот же синтаксис, те же встроенные функции и те же псевдонимы / функции оболочки, что и раньше!

Но есть ряд различий, возможно, наиболее очевидная переменная среды SHLV , которую Bash увеличивает при каждом запуске.

вы вводите bash ret ? Именно то, что произошло раньше с Zshell, за исключением того, что труднее сказать, что отличается, потому что вы будете использовать тот же синтаксис, те же встроенные функции и те же псевдонимы / функции оболочки, что и раньше!

Но есть ряд различий, возможно, наиболее очевидная переменная среды SHLV , которую Bash увеличивает при каждом запуске.

3
ответ дан 2 August 2020 в 21:59

Опоздав на вечеринку, но ИМО, другие ответы не доходят до сути.

bash — это программа, целью которой является интерпретация команд путем запуска других программ. Это довольно сложно - есть много причудливых способов создания команды bash - но команда simplest, которую вы можете ввести в bash, - это просто имя какой-то другой программы.

Если ввести foo в командной строке, bash выполнит поиск программы с именем foo, и если она найдет ее, запустит программу, дождется завершения программы, а затем распечатает другую подсказку.

Итак, угадайте, что произойдет, если вы введете bash в командной строке...

2
ответ дан 3 August 2020 в 14:14

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

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