ГлавнаяОперационные системыLinuxРуководство для начинающих по написанию сценариев оболочки в Linux

Руководство для начинающих по написанию сценариев оболочки в Linux

Часто задаваемые вопросы

ся писать сценарии в Linux? Сделать их проще, чем вы думаете. Иногда сценарии (часто называемые сценариями оболочки или bash) представляют собой настоящие программы со сложным кодом внутри. В других случаях это просто длинный список задач, которые пользователи объединяют, чтобы сделать работу под Linux быстрее и проще.

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

Совет. ознакомьтесь с нашими шпаргалка по регулярным выражениям .

Зачем писать сценарий?

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

Например: возможно, вы только что создали Arch Linux с нуля. Операционная система установлена ​​вместе со всеми базовыми пакетами и может загружаться с терминала при запуске операционной системы. Настройка Arch Linux требует времени, поэтому процесс не завершен.

Contents

Зачем писать сценарий?

ом этапе пользователь может написать сценарий Bash и выполнить все сразу. Ничто из этого не является программированием – или, если уж на то пошло, продвинутым. Однако, учитывая тот факт, что пользователь достаточно понимает, как работает Arch Linux, он сможет автоматизировать почти весь процесс после установки (среда рабочего стола, драйверы, пользовательские настройки и т. д.).

Единственным ограничением вашего bash-скрипта являются ваши собственные знания Linux и Bash! Сделать их проще, чем вы думаете.

Также читайте: 12 лучших дистрибутивов Linux на выбор в 2024 году

Начало работы

При написании кода необходимо указать все и загрузить ресурсы. Некоторые вещи также необходимо указать при написании сценариев с помощью оболочки. В сценариях bash это называется «шебанг». Шебанги, используемые в сценариях, сообщают сценарию, под каким интерпретатором он должен выполняться. Это может быть Bash или любые другие сценарии, доступные в вашей системе. Обратите внимание, что в разных языках есть свои шебанги.

Например: при написании сценария Python значение будет равно #!/usr/bin/python.

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

Еще один полезный шебанг — #!/usr/bin/env bash. Он разработан с учетом переносимости и его следует использовать, если сценарий предназначен для работы в других Unix-подобных операционных системах (BSD, macOS и т. д.).

Рекомендации

Написание скриптов в Bash может оказаться сложным процессом, если автор делает это именно так. Чаще всего скрипты представляют собой просто набор различных операций. Перемещение файла, загрузка чего-либо, установка программ и тому подобное.

  • Имейте в виду, что Bash — это язык, предназначенный для управления файлами и процессами в системе. Если Bash соответствует вашим потребностям, это хорошо. Однако следует понимать, что для продвинутого программирования Bash на самом деле не лучший выбор, и лучше всего перейти на что-то вроде Python.
  • Сделайте свои сценарии совместимыми с «SH» и в формате «.sh», если вы планируете использовать сценарии не только на платформе Linux. Хотя другие UNIX-по

    Начало работы

    стемы могут иметь оболочки типа bash, в некоторых bash вообще нет, и к этому хорошо быть готовым.
  • Изучите оболочку Bash и то, как она работает. Это поможет вам лучше писать сценарии.
  • Всегда используйте шебанг и, что более важно, используйте правильный. Это может означать разницу между хорошим сценарием и ужасным, который работает неправильно.
  • Всегда комментируйте каждую операцию. Через шесть месяцев вы можете вернуться к своему сценарию и задаться вопросом, что все это значит, поэтому крайне важно, чтобы ваш сценарий был хорошо задокументирован и прост для понимания (для вас и всех, кто может его увидеть).
  • Сделайте свой код читабельным. Даже если ваш сценарий не представляет собой ничего сложного, он все равно должен иметь смысл, а его создание проще, чем вы думаете.
  • Проверьте свой сценарий на наличие ошибок, прежде чем передавать его другим. Не заставляйте других тестировать ошибки за вас. В идеале сценарии должны работать до того, как вы отправите их людям.

Также читайте: Как использовать Chroot в Linux и исправить сломанную систему

Создание сценария

Чтобы начать писать сценарии, вам нужен только текстовый редактор. Подойдет любой простой текстовый редактор. Оно не должно быть сложным или всеобъемлющим. В этом примере мы создаем простой сценарий приветствия с помощью редактора Gedit.

Создайте и откройте скрипт в Gedit

Создайте скрипт с именем «greetings.sh» и откройте его в редакторе Gedit. Как упоминалось ранее, эта первая часть сценария — это шебанг. Это позволяет сценарию сообщить интерпретатору, что ему следует использовать для понимания кода.

#!/bin/bash

Далее напишем комментарий. Это позволит любому, кто использует сценар

Рекомендации

предназначен код. Комментарии к скрипту можно добавить, поместив символ #. Все, что после этого, не будет обработано сценарием.

# My first Linux script

Распечатка простого сообщения Hello World

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

echo "Hello world"

Сделать скрипт исполняемым

Чтобы сделать скрипт исполняемым, мы используем команду chmod.

chmod +x greetings.sh

+xозначает добавление разрешения на выполнение к файлу сценария. Для запустить скрипт вызовите имя сценария с его относительным путем.

./greetings.sh

Читайте также: Что такое Rc Shell и как его установить в Linux

Принятие пользовательских данных

Прием пользовательского ввода – это самая основная функция bash-скрипта, и вы должны иметь представление о переменные в bash . Переменные похожи на хранилище, в котором вы можете хранить значения. В этом случае мы сохраняем пользовательский ввод в переменной bash. Чтобы ввести данные, мы задаем пользователю вопрос.

echo -e "What is your name: "

Когда пользователь вводит свое имя, мы можем прочитать введенные данные, используя переменную bash с именем inputname.

echo -e "What is your name: "
read inputname

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

Печать приветственного сообщения

Сохраненное имя пользователя — это переменная inputname. Чтобы поприветствовать пользователя, мы снова используем команду echo.

echo "Good morning $inputname"

Мы используем знак $для обозначения переменной внутри строки. Сохраните скрипт и запустите его с помощью команды ./greetings.sh.

простой скрипт в терминале

Теперь вы можете создавать свои собственные поздравления и делиться ими с друзьями.

Читайте также: Как использовать команду Rm в Linux

Использование условных операторов

Предположим, вы хотите создать сценарий с условным циклом типа «Если это, то сделайте то». Это можно легко создать, используя следующий пример:

#!/bin/bash
x=$1
if [ "$x" == "1" ]
then
  echo "the input number is 1"
elifСоздание сценарияpan>$x" == "2" ]
then
  echo "the input number is 2"
elif [ "$x" == "3" ]
then
  echo "the input number is 3"
fi

Расширения файлов

Разницы в расширениях файлов скриптов нет. Имя файла с расширением «.s

Создайте и откройте скрипт в Gedit

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

Хотя оболочка Bash игнорирует расширения файлов, это не означает, что автор сценария должен это делать. Некоторые среды рабочего стола, которые позволяют настроить запуск сценариев оболочки при запуске, зависят от того, чтобы сценарий имел правильное расширение файла «.sh». Это также помогает в организационных целях.

Что касается этого, большинство сценариев оболочки сохраняются в виде файлов «.sh» для переносимости. «sh» не имеет ничего общего с самим Bash, и скрипт может работать с любой совместимой оболочкой.

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

Распечатка простого сообщения Hello World

on class="sc_fs_faq sc_card ">

Легко ли научиться писать сценарии на bash?

Если вы знакомы с языками программирования, то написание сценариев bash покажется довольно простым. Он использует те же концепции программирования, что и переменные, Сделать скрипт исполняемым> и т. д. Но если вы ничего не знаете о программировании, я рекомендую вам начать с Python. Python очень легко изучить, и на нем также можно создавать сценарии.

Стоит ли изучать bash?

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

Как научиться писать сценарии bash в Windows?

В Windows нет встроенного способа изучения bash, но вы можете использовать Подсистема Windows для Linux (WSL) для запуска дистрибутива L

Принятие пользовательских данных

льзовать его для запуска команд bash.

Изображение предоставлено: Unsplash . Все скриншоты сделаны Хришикешем Патаком.

Печать приветственного сообщения

Использование условных операторов

Расширения файлов

Легко ли научиться писать сценарии на bash?

Стоит ли изучать bash?

Как научиться писать сценарии bash в Windows?

ПОХОЖИЕ СТАТЬИ

Популярные записи