Действительно ли Bash и оболочка Linux являются тем же?

Я часто запутывающийся с ударом и оболочкой. Они - то же? Если я захочу изучить удар, то он будет покрыт оболочкой Linux, программируя связанные книги? Я использую Ubuntu Linux.

Править: (Добавленный после получения двух ответов.), Как удар связан с терминалом?

5
задан 13 January 2010 в 19:24
поделиться

8 ответов

Bash - это один конкретный тип оболочки Linux (снова оболочка), но есть несколько других. В Ubuntu Bash - это значение по умолчанию. Я уверен, что есть многочисленные книги по программированию оболочки, которые охватывают его, я прочитал один в прошлом.

11
ответ дан 18 December 2019 в 05:49
поделиться

Этот вопрос становится немного несвеженным, но я подумал, что я мог бы прояснить различие между терминалом и оболочкой, как запрашивается во второй части вопроса. Вы можете подумать о терминале как устройство отображения. В наши дни это наиболее типично программа, но было время, когда терминал был отдельной коробкой. Когда вы запускаете программу терминала, она отправит сигнал Wackup в локальную систему. В старые времена физический терминал отправил электрический сигнал на соединении (обычно RS232) с интерфейсом терминала. В любом случае операционная система отправляет текст «входа» обратно на любое устройство или программу, отправленную сигнал SUZTUPPUP. Оболочка еще не участвует.

Операционная система завершает вход, подтвердив имя пользователя и пароль (если есть). Затем он проверяет проверенную запись пользователя в файл пароля для имени предпочтительной оболочки этого пользователя. Существует оболочка по умолчанию, назначенная при создании учетной записи, и пользователь, как правило, может изменить это задание позже. ОС запускает программу оболочки, и оболочка наследует путь связи, подключенного к терминалу. Терминальная программа все еще там, отображающая текст, отправленный ему, и отправка того, что пользовательские типы создают обратную строку связи. Теперь это оболочка на другом конце линии, а не ОС.

Любая программа может быть назначена как пользователи Initail вход в систему Shell. Было бы возможно, но не очень полезно, назначить программу «Дата» в качестве системы входа в систему. В этом случае, после входа в систему пользователь просто увидит дату, отображаемую в своем окне терминала, и будет выходить из системы. Разница между терминалом и оболочкой заключается в том, что терминал всегда есть, прослушивание и разговаривание с пользователем. Он не интерпретирует нажатия клавиш (за пределами сопоставления на набор символов). Shell - это то, что OS запускается (или пользователь позже добавляет в стеке, подобную моде), чтобы обрабатывать коммуникации на другом конце линии связи терминалов. Он решает о действии, чтобы принять в ответ на нажатие клавиш пользователя.

7
ответ дан 18 December 2019 в 05:49
поделиться

взяты из LinuxCommand.gds.tuwien.ac.at :

Проще говоря, оболочка - это программа это принимает ваши команды из клавиатура и дает им Операционная система для выполнения. в Старые времена, это был единственный пользователь Интерфейс доступен на Unix компьютер. В наши дни, у нас есть графические пользовательские интерфейсы (GUI) в дополнение к Интерфейсы командной строки (CLI), такие как раковина.

На большинстве систем Linux программа вызывается Bash (который снова стоит за Борн Раковина, повышенная версия Оригинальный Bourne Shell Program, SH, написано Стив Борн), действует как программа оболочки. Есть несколько Дополнительные программы оболочки доступны на Типичная система Linux. К ним относятся: КШ, TCSH и ZSH.

4
ответ дан 18 December 2019 в 05:49
поделиться

«Bash» является одним из многих доступных «оболочек» для Linux IE «Bash» Typeof «Shell» == TRUE

3
ответ дан 18 December 2019 в 05:49
поделиться

No. bash - одна оболочка. Технически Linux не является оболочкой, а фактически ядром, но поверх него может работать множество различных оболочек (bash, tcsh, pdksh и т. д.). Просто баш - самый распространенный.

-121--4546503-

bash является одним из конкретных типов оболочки Linux (оболочка Bourne), но есть довольно много других. В Ubuntu по умолчанию используется bash. Я уверен, что есть многочисленные книги по программированию, которые охватывают это, я читал один в прошлом.

-121--4546499-

Попробуйте: http://en.wikipedia.org/wiki/Unix_shell Подсказка: Bash - это тип оболочки Unix.

0
ответ дан 18 December 2019 в 05:49
поделиться

Для того, чтобы определенные скрипты были портативными между AIX и Linux, у меня должны иметь определенную логику, чтобы определить тип коробки и запускать вариации определенных команд.

Для exmaple:

Если вы используете «\ C», чтобы предотвратить новую строку в конце эхо, вам придется изменить на «Echo -n».

Кроме того, синтаксис Ping немного меняется.

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

0
ответ дан 18 December 2019 в 05:49
поделиться

Нет. Bash - одна оболочка. Технически Linux не является оболочкой, а на самом деле ядро, но многие разные снаряды могут работать сверху (Bash, TCSH, PDKSH и т. Д.). Bash просто случается, чтобы быть самым распространенным.

2
ответ дан 18 December 2019 в 05:49
поделиться

Нет, они не одинаковы, и да, книги программирования Shell Linux должны иметь значительные порции или быть полностью о сценарии Bash.

Ubuntu - это распределение Linux, которое содержит Bash в качестве доступной оболочки. Когда вы открываете терминал в Ubuntu, вы открываете экран, который эмулирует отображение с определенным количеством рядов и столбцов. Bash - это программа, которая может работать на терминале и позволить вам взаимодействовать с системой. Это очень похоже на запрос DOS в окне команд в Windows, если вы знакомы с этим.

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

Удачи!

2
ответ дан 18 December 2019 в 05:49
поделиться