Skip to main content

Руководство для начинающих к Bash - Hello World

Создание скриптов bash урок #1 (Апрель 2025)

Создание скриптов bash урок #1 (Апрель 2025)
Anonim

В Интернете есть множество руководств, в которых показано, как создавать сценарии Shell с использованием BASH, и это руководство направлено на то, чтобы дать немного другой оборот, потому что он написан кем-то, у которого очень мало навыков работы с оболочкой.

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

Хотя мой опыт работы с оболочкой LINUX / UNIX ограничен, я являюсь разработчиком программного обеспечения по профессии, и я являюсь лаконичной рукой на языках сценариев, таких как PERL, PHP и VBScript.

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

Начиная

Очевидно, есть много теории, что я мог бы сразу перейти к вам, например, описать различные типы оболочек и преимущества использования BASH над KSH и CSH.

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

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

Текстовые редакторы

Другие руководства, которые я прочитал, предположили, что вам нужен текстовый редактор, который включает цветовое кодирование команд, а рекомендуемые редакторы - VIM или EMACS.

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

Из двух я предпочитаю EMACS, но, честно говоря, я предпочитаю использовать простой редактор, такой как nano, gedit или leafpad.

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

Для целей настоящего руководства я буду использовать nano, поскольку он установлен изначально для большинства дистрибутивов Linux, и поэтому вы, вероятно, получите к нему доступ.

Открытие окна терминала

Если вы используете дистрибутив Linux с графическим рабочим столом, например Linux Mint или Ubuntu, вы можете открыть окно терминала, нажав CTRL + ALT + T.

Где разместить ваши скрипты

Для целей данного руководства вы можете поместить свои скрипты в папку под домашней папкой.

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

cd ~

Команда cd означает каталог изменений, а тильда (~) - это ярлык для вашей домашней папки.

Вы можете проверить, что вы находитесь в правильном месте, введя следующую команду:

PWD

Команда pwd сообщит вам ваш текущий рабочий каталог (где вы находитесь в дереве каталогов). В моем случае он вернулся / home / gary.

Теперь, очевидно, вы не захотите напрямую поместить свои скрипты в домашнюю папку, чтобы создать папку под названием scripts, введя следующую команду.

Скрипты mkdir

Перейдите в новую папку сценариев, введя следующую команду:

скрипты cd

Ваш первый скрипт

Обычно, когда вы учитесь программировать, чтобы первая программа просто выводила слова «Hello World».

Внутри папки сценариев введите следующую команду:

nano helloworld.sh

Теперь введите следующий код в нано-окно.

#! / bin / bash echo "hello world"

Нажмите CTRL + O, чтобы сохранить файл и CTRL + X, чтобы выйти из nano.

Сам скрипт состоит из следующего:

#! / Bin / bash необходимо включить в начало всех скриптов, которые вы пишете, поскольку интерпретаторы и операционная система знают, как обрабатывать файл. В основном просто не забудьте включить его и забыть о том, почему вы это делаете.

Во второй строке есть одна команда, называемая echo, которая выводит текст, который сразу же следует за ней.

Обратите внимание: если вы хотите отобразить несколько слов, вам нужно использовать двойные кавычки («) вокруг слов.

Теперь вы можете запустить скрипт, введя следующую команду:

sh helloworld.sh

Должны появиться слова «привет мир».

Другой способ запуска скриптов:

./helloworld.sh

Скорее всего, если вы сразу же запустите эту команду в своем терминале, вы получите ошибку разрешений.

Чтобы предоставить разрешения для запуска сценария таким образом, введите следующее:

sudo chmod + x helloworld.sh

Так что же на самом деле произошло? Почему вы смогли запустить sh helloworld.sh без изменения разрешений, но запуск ./helloworld.sh вызвал проблему?

Первый метод загружает интерпретатор bash, который принимает helloworld.sh в качестве входных данных и разрабатывает, что с ним делать. У интерпретатора bash уже есть разрешения для запуска и просто нужно запускать команды в скрипте.

Второй метод позволяет операционной системе решить, что делать со сценарием, и поэтому для выполнения требуется исполняемый бит.

Вышеприведенный скрипт был в порядке, но что произойдет, если вы хотите отображать кавычки?

Существуют различные способы достижения этого. Например, вы можете поместить обратную косую черту перед кавычками следующим образом:

echo "привет мир "

Это приведет к выходу «hello world».

Подождите минуту, что, если вы хотите отобразить «привет мир»?

Ну, вы также можете избежать escape-символов

echo "" привет мир ""

Это приведет к выдаче «привет мир».

Теперь я знаю, о чем вы думаете. Но я действительно хочу отобразить "" привет мир ""

Использование эха со всеми этими escape-символами может стать довольно глупым. Существует альтернативная команда, которую вы можете использовать под названием printf.

Например:

printf '% s n' ' "" hello world ""'

Обратите внимание, что текст, который мы хотим отобразить, находится между одинарными кавычками. Команда printf выводит текст из вашего скрипта. % S означает, что он отобразит строку, n выведет новую строку.

Резюме

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

В следующей части мы рассмотрим улучшение на hello world script, чтобы отображать текст в разных цветах, принимать и обрабатывать входные параметры, переменные и комментировать ваш код.