Shell и bash в чем разница

Shell и bash

Что такое shell и bash. В чем их различие?

Shell и bash в чем разница. 155985:1574744723. Shell и bash в чем разница фото. Shell и bash в чем разница-155985:1574744723. картинка Shell и bash в чем разница. картинка 155985:1574744723

Shell и bash в чем разница. 57090:456977668. Shell и bash в чем разница фото. Shell и bash в чем разница-57090:456977668. картинка Shell и bash в чем разница. картинка 57090:456977668

bash, sh, zsh, dash и т.д. и т.п. это все shell

Что такое shell и bash. В чем их различие?

Что такое car и bmw. В чем их различие?

Shell и bash в чем разница. 20055:1761284608. Shell и bash в чем разница фото. Shell и bash в чем разница-20055:1761284608. картинка Shell и bash в чем разница. картинка 20055:1761284608

Shell и bash в чем разница. 139982: 1353020976. Shell и bash в чем разница фото. Shell и bash в чем разница-139982: 1353020976. картинка Shell и bash в чем разница. картинка 139982: 1353020976

Shell и bash в чем разница. 139982: 1353020976. Shell и bash в чем разница фото. Shell и bash в чем разница-139982: 1353020976. картинка Shell и bash в чем разница. картинка 139982: 1353020976

но как и описали выше: от shell идёт много ответвлений, например, как описано выше.

Shell и bash в чем разница. p. Shell и bash в чем разница фото. Shell и bash в чем разница-p. картинка Shell и bash в чем разница. картинка p

Оболочка операционной системы (shell) — интерпретатор команд операционной системы, обеспечивающий интерфейс для взаимодействия пользователя с функциями системы.

В общем случае, различают оболочки с двумя типами интерфейса для взаимодействия с пользователем: текстовый пользовательский интерфейс (TUI) и графический пользовательский интерфейс (GUI).

Интерфейс командной строки (англ. Command line interface, CLI) — разновидность текстового интерфейса между человеком и компьютером, в котором инструкции компьютеру даются в основном путём ввода с клавиатуры текстовых строк (команд).

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

Командная оболочка UNIX (англ. Unix shell, часто просто «шелл» или «sh») — командный интерпретатор, используемый в операционных системах семейства UNIX, в котором пользователь может либо давать команды операционной системе по отдельности, либо запускать скрипты, состоящие из списка команд. В первую очередь, под shell понимаются POSIX-совместимые оболочки, восходящие к Bourne shell (шелл Борна), появившемуся в Unix Version 7.

Bash (от англ. Bourne again shell, каламбур «Born again» shell — «возрождённый» shell) — усовершенствованная и модернизированная вариация командной оболочки Bourne shell. Одна из наиболее популярных современных разновидностей командной оболочки UNIX. Особенно популярна в среде Linux, где она часто используется в качестве предустановленной командной оболочки.

Bash — это командный процессор, работающий, как правило, в интерактивном режиме в текстовом окне. Bash также может читать команды из файла, который называется скриптом (или сценарием). Как и все Unix-оболочки, он поддерживает автодополнение имён файлов и директорий, подстановку вывода результата команд, переменные, контроль за порядком выполнения, операторы ветвления и цикла. Ключевые слова, синтаксис и другие основные особенности языка были заимствованы из sh. Другие функции, например, история, были скопированы из csh и ksh. Bash в основном соответствует стандарту POSIX, но с рядом расширений.

Таким образом вопрос поставлен некорректно, т.к. bash является реализацией shell.

Источник

Что такое bash / shell

И то, и другое — интерпретаторы командной строки в линуксе. То есть если вы откроете командную строку и введете любую команду, да хоть:

То именно интерпретатор ее расшифрует и скажет компьютеру «он хочет перейти в директорию /home». Компьютер ведь не понимает команды на русском / английском языке. Ему нужны байтики. Этим и занимается интерпретатор — переводом с «нашего» на «компьютерный» язык.

Shell и bash в чем разница. image loader. Shell и bash в чем разница фото. Shell и bash в чем разница-image loader. картинка Shell и bash в чем разница. картинка image loader

Так что «cd /home» — это shell-команда! Или bash. Смотря какой интерпретатор установлен в вашей системе. В каждой операционной системе установлен интерпретатор по умолчанию. У них есть какие-то различия, но есть и набор базовых команд, которые понимают все: cd, mv, cp, ls… (в винде эти команды немного другие)

А что такое shell-скрипт тогда? Это просто текстовый документ, внутри которого написан набор команд! Это не обязательно должны быть «сложные» команды, которые делают что-то супер-навороченное. Это любые команды, которые вы выполняете в консоли.

Например, создадим скриптик, который создаст директорию и в ней файлик:

Shell и bash в чем разница. image loader. Shell и bash в чем разница фото. Shell и bash в чем разница-image loader. картинка Shell и bash в чем разница. картинка image loader

И даже если у такого файла не будет расширения вовсе, его можно будет запустить как скрипт:

Расширение .sh ставится для понимания человеком. Зашел в директорию:

— Ага, что тут у нас? Файлы sh, скрипты какие-то лежат.

Скрипты могут быть простые, а могут быть сложные. Вот, например, в одном проекте мы вначале вручную обновляли тестовые платформы. Для обновления надо:

Переподложить war-файл с приложением (лежат они в директории /opt)

Сервиса два, допустим это test и cloud. Так что шагов уже 6.

Когда обновлять вручную надоело, мы положили на все линукс машины простой скриптик:

Собираешь приложение, подкладываешь к скриптику и запускаешь 1 команду вместо 6. Удобно! Это называется «автоматизация рутины» =)

Другой пример с того же проекта — мы делали серверное приложение. И во время установки приложения на сервере linux нужно выполнить пункты по настройке самой системы. Например, увеличить параметр max_map_count — сколько максимум памяти может использовать процесс.

Приложение в пике работы требует много памяти. Если не настроить параметр, то «тяжеловесная» задача просто упадет с ошибкой «Не хватает памяти». И если мы видим такую ошибку, то в первую очередь идем проверять настройки системы.

Вообще, если вы отдаете установку приложения на откуп «чужим» админам, лучше потом проверять — а всё ли настроено верно? Конечно, обычно на production (машина, с которой работают реальные пользователи) настраивают всё внимательно, это на тестовых стендах могут что-то пропустить. Но лучше перебдеть!

Shell и bash в чем разница. image loader. Shell и bash в чем разница фото. Shell и bash в чем разница-image loader. картинка Shell и bash в чем разница. картинка image loader

Мы написали скрипт по проверке настройки окружения (символ «#» в начале строки означает, что это комментарий):

В итоге админы настраивают окружение, а потом мы даем им скрипт, просим запустить его и прислать результаты. Я запустила скрипт на «голой» системе, где, разумеется, параметры настроены не были, и вот ответ:

Shell и bash в чем разница. image loader. Shell и bash в чем разница фото. Shell и bash в чем разница-image loader. картинка Shell и bash в чем разница. картинка image loader

Видим, что все проверки провалились, статус failed. Если и от админов приходит похожая картина, направляем их в документацию по настройке системы. Если к нам приходят с проблемой падения из-за нехватки памяти, снова просим выполнить скрипт. Так проще локализовать ошибку: это в приложении косяк, или окружение настроено плохо?

Просить других людей выполнить 10 команд не очень хорошо. Потому что часть команд может «потеряться» при выполнении — плохо скопировал, забыл выполнить проверку, которую дали сообщением позже. Гораздо проще сделать 1 скрипт и попросить выполнить именно его.

Когда надо писать скрипт?

Когда надо выполнить больше 3 команд за раз — проще выполнить одну, запустить скрипт.

Когда одну и ту же команду надо выполнять чаще 3 раз — лучше автоматизировать эту работу.

Shell и bash в чем разница. image loader. Shell и bash в чем разница фото. Shell и bash в чем разница-image loader. картинка Shell и bash в чем разница. картинка image loader

По сути своей, bash-скрипты — это та же автоматизация. А когда нужна автоматизация? Когда мы хотим избавиться от рутины, от постоянного выполнения одного и того же действия вручную. Повторяете одно и то же каждый день / неделю? Напишите скрипт. Даже если он на 2-3 строчки будет, это правда удобнее. Поверьте, сама делала небольшие скрипты =)

См также по bash:

Основы BASH. Часть 1 (Хабр) — цикл статей о том, как писать скрипты

См также другие статьи из цикла «Что такое. »:

Источник

Bash vs shell

Уважаемые знатоки объясните новичку, чем отличается bash от shell`a просто не могу понять в чем между ними разница.

P.S В гугле не нарыл.

Shell и bash в чем разница. 132119:521563173. Shell и bash в чем разница фото. Shell и bash в чем разница-132119:521563173. картинка Shell и bash в чем разница. картинка 132119:521563173

Shell и bash в чем разница. 99092: 1865349695. Shell и bash в чем разница фото. Shell и bash в чем разница-99092: 1865349695. картинка Shell и bash в чем разница. картинка 99092: 1865349695

Shell и bash в чем разница. p. Shell и bash в чем разница фото. Shell и bash в чем разница-p. картинка Shell и bash в чем разница. картинка p

bash это bourne again shell.

Shell и bash в чем разница. 132119:521563173. Shell и bash в чем разница фото. Shell и bash в чем разница-132119:521563173. картинка Shell и bash в чем разница. картинка 132119:521563173

Спасибо за ответ все понятно, но не могли бы вы привести пример отличия bash от sh. p.s Крохотный пример.

Shell и bash в чем разница. 55266: 1245548344. Shell и bash в чем разница фото. Shell и bash в чем разница-55266: 1245548344. картинка Shell и bash в чем разница. картинка 55266: 1245548344

чтобы понять разницу тебе надо понять что такое командный интерпретатор

Shell и bash в чем разница. 99092: 1865349695. Shell и bash в чем разница фото. Shell и bash в чем разница-99092: 1865349695. картинка Shell и bash в чем разница. картинка 99092: 1865349695

Shell и bash в чем разница. p. Shell и bash в чем разница фото. Shell и bash в чем разница-p. картинка Shell и bash в чем разница. картинка p

Shell и bash в чем разница. 60498: 1572548029. Shell и bash в чем разница фото. Shell и bash в чем разница-60498: 1572548029. картинка Shell и bash в чем разница. картинка 60498: 1572548029

Shell и bash в чем разница. 52754:1317211183. Shell и bash в чем разница фото. Shell и bash в чем разница-52754:1317211183. картинка Shell и bash в чем разница. картинка 52754:1317211183

Спасибо за ответ все понятно, но не могли бы вы привести пример отличия bash от sh. p.s Крохотный пример.

Shell и bash в чем разница. p. Shell и bash в чем разница фото. Shell и bash в чем разница-p. картинка Shell и bash в чем разница. картинка p

а откуда пошла эта копипаста?

Shell и bash в чем разница. p. Shell и bash в чем разница фото. Shell и bash в чем разница-p. картинка Shell и bash в чем разница. картинка p

Предприимчивые молодые люди, стоит интересоваться этой темой. Вы молодые, здоровые, умные. Это то что надо. Это яхты и виллы. Сюда нужно вливаться незамедлительно. Серьезно, любой из вас будет счастлив от такого. Это лучше чем сидеть на жопе и создавать треды про ЕОТ. Я вполне понимаю что данным сообщением вызову дополнительный интерес, но хочу сразу предостеречь — самое опасное в жизни — прожить ее, не заметив, как она прошла, будучи серой мышью. Остальные просто не будут такими умными чтобы сделать все чисто.

супер классное оформление

Shell и bash в чем разница. 23351: 1310178298. Shell и bash в чем разница фото. Shell и bash в чем разница-23351: 1310178298. картинка Shell и bash в чем разница. картинка 23351: 1310178298

Shell и bash в чем разница. 23351: 1310178298. Shell и bash в чем разница фото. Shell и bash в чем разница-23351: 1310178298. картинка Shell и bash в чем разница. картинка 23351: 1310178298

ИМХО, какая-то вариация обращения жирика к бушу. На лурке было

Shell и bash в чем разница. 132119:521563173. Shell и bash в чем разница фото. Shell и bash в чем разница-132119:521563173. картинка Shell и bash в чем разница. картинка 132119:521563173

Всем спасибо за ответы, понял в чем разница между bash и sh.

Источник

В чем разница между Bash и Shell?

Bash (bash) — одна из многих доступных (но наиболее часто используемых) оболочек Unix. … Сценарии оболочки — это сценарии в любой оболочке, а сценарии Bash — это сценарии специально для Bash. Однако на практике «сценарий оболочки» и «сценарий bash» часто используются взаимозаменяемо, если только рассматриваемая оболочка не является Bash.

Что такое bash и оболочка в Linux?

Bash — это оболочка или интерпретатор командного языка для операционной системы GNU. Название является аббревиатурой от «Bourne-Again SHell», каламбура Стивена Борна, автора прямого предка текущей оболочки sh Unix, появившейся в версии Unix седьмого издания Bell Labs Research.

Что такое баш?

Bash — это оболочка Unix и командный язык, написанный Брайаном Фоксом для проекта GNU в качестве бесплатной замены оболочки Bourne. Впервые выпущенный в 1989 году, он использовался в качестве оболочки входа по умолчанию для большинства дистрибутивов Linux. … Bash также может читать и выполнять команды из файла, называемого сценарием оболочки.

В чем разница между оболочкой и терминалом?

Shell — это программа, которая обрабатывает команды и возвращает вывод, как bash в Linux. Терминал — это программа, запускающая оболочку, в прошлом это было физическое устройство (раньше терминалы были мониторами с клавиатурой, они были телетайпами), а затем ее концепция была перенесена в программное обеспечение, такое как Gnome-Terminal.

Какая оболочка лучшая и почему это bash?

Он был разработан на основе исходной оболочки UNIX Bourne (также известной как sh) и был разработан для полной совместимости со старыми сценариями с добавлением нескольких улучшенных функций. Bash — очень надежный вариант оболочки, поскольку он используется в течение длительного времени и для него имеется обширная документация.

Для чего используется оболочка bash?

Bash (также известный как «Bourne Again SHell») является реализацией Shell и позволяет эффективно выполнять многие задачи. Например, вы можете использовать Bash для быстрого выполнения операций с несколькими файлами через командную строку.

Для чего нужен bash?

Bash невероятно полезен в системном администрировании, развертывании веб-приложений, обработке данных, автоматическом резервном копировании, даже в повседневном управлении повседневными делами, и это лишь некоторые из них.

Bash — это язык программирования?

Bash — мощный язык программирования, идеально подходящий для использования в командной строке и в сценариях оболочки. В этой серии из трех частей рассматривается использование Bash в качестве языка программирования интерфейса командной строки (CLI).

На чем написан bash?

CMD — это терминал?

Итак, cmd.exe не является эмулятором терминала, потому что это приложение Windows, работающее на машине Windows. Не нужно ничего подражать. Это оболочка, в зависимости от вашего определения оболочки. … cmd.exe — это консольная программа, а их очень много.

Терминал — это оболочка?

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

Почему это называется оболочкой?

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

Рыба лучше zsh?

На мой взгляд, Fish, или «Friendly Interactive Shell», является наиболее удобной и интерактивной оболочкой. Он гораздо более настраиваемый, чем Zsh и Bash. Он имеет массу интересных функций, таких как согласованный синтаксис, красивое завершение табуляции и подсветка синтаксиса, его легко подобрать и использовать, а также имеет отличную помощь во время выполнения.

Какая оболочка наиболее распространена и лучше всего подходит для использования?

Объяснение: Bash близок к POSIX-совместимой и, вероятно, является лучшей оболочкой для использования. Это наиболее распространенная оболочка, используемая в системах UNIX.

Какова одна из причин выбора оболочки, отличной от bash?

Следовательно, первая причина — расширить оболочку дополнительными функциями. Разные оболочки предпочитают фокусироваться на разных вещах. Например, Zsh фокусируется на расширенных интерактивных функциях, в то время как ksh93 (текущая «оригинальная» оболочка korn) фокусируется на мощных функциях программирования и производительности.

Источник

В чем разница между Bash и Sh?

Я вижу два типа используемого кода:

Я искал это онлайн, и мнения сильно различаются. Объяснения, которые я видел на большинстве веб-сайтов, говорят, что sh старше bash и разницы нет.

Кто-нибудь знает разницу между этими? Можете ли вы дать мне практический пример, когда использовать один над другим?

5 ответов 5

Bash имеет больше возможностей (ветвление, встроенные функции, массивы), что облегчает написание скрипта. Некоторые более поздние * nix’ы имеют /bin/sh как ссылку на /bin/bash

Для полного объяснения того, что вот учебник

Традиционно, /bin /sh был бы оригинальной оболочкой Bourne, которая не имеет истории или редактирования в командной строке, а также не контролирует работу.

В течение последних 15 лет в большинстве Unix-систем была установлена оболочка POSIX, или, по крайней мере, ksh или bash (которые очень похожи на POSIX), но все еще имеют более ограниченную оболочку в /bin /sh

В Linux команда sh почти всегда представляет собой ссылку на bash со всеми теми же функциями.

/bin/sh не является символической ссылкой или жесткой ссылкой в OS X, но он почти такого же размера, как /bin/bash:

Если bash вызывается с именем sh, он пытается максимально близко имитировать поведение при запуске исторических версий sh, при этом также соответствует стандарту POSIX.

В остальном мимикрирование снарядов Борна довольно ограничено. bash +B (Bourne) фактически отключил бы такие функции, как расширение скобок.

Если вы действительно хотите писать сценарии для (что-то вроде) оригинальных оболочек Борна, вы можете использовать #!/usr/bin/env bash +B вместо этого.

Я думаю, что проще написать сценарии для bash, чем избегать функций, которые не являются частью спецификаций POSIX или оболочек Bourne, или проверять все с помощью других оболочек.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *