ubuntu как создать скрипт

Ubuntu как создать скрипт

Автор: Кузнецов Константин

Пишем скрипты в Linux (обучение на примерах)

Содержание:
1. Введение
2. Обучение написанию сценариев на внутреннем языке BASH (Перевод с англ.)
3. Используемая и рекомендуемая литература

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

Зачем нужны скрипты
Во-первых, администрирование linux-сервера в той или иной степени сводится к систематическому выполнению одних и тех же команд. Причем не обязательно, чтобы эти команды выполнял человек. Их можно запрограммировать на выполнение машиной.
Во-вторых, даже просто выполнение обычной задачи, которая (вдруг) составляет 20-1000… однообразных операций ГОРАЗДО проще реализовать в скрипте.

Что такое скрипт
Скрипт — набор инструкций, которые должен в определенном порядке и в определенное время выполнить компьютер. Инструкциями могут быть как внутренние команды оболочки (циклы, условия, обработка текстовой информации, работа с переменными окружения и прочее), так и любая программа, выполняемая нами в консоли с необходимыми параметрами.

Как писать скрипт
В нашем случае скрипт будет представлять из себя текстовый файл с атрибутами выполнения. Если файл сценария начинается с последовательности #!, которая в мире UNIX называется sha-bang, то это указывает системе какой интерпретатор следует использовать для исполнения сценария. Если это трудно понять, то просто запомните, что все скрипты мы будем начинать писать именно со строчки #!/bin/bash или #!/bin/sh, а далее пойдут команды и комментарии к ним.

Напутствие
Я Вам искренне советую писать как можно больше комментариев чуть ли ни к каждой строчке в скрипте. Пройдет время и Вам понадобится изменить или модернизировать написанный когда-то скрипт. Если не помнишь или не понимаешь, что написано в скрипте, то становится сложно его изменять, проще писать с нуля.

Какие скрипты могут нам понадобиться:

    устанавливающий правила файервола при загрузке системы.

    выполняющий backup настроек и данных.

    добавляющий почтовые ящики в почтовый сервер (точнее в базу mysql)

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

    отправляющий нам на почту информацию о том, что кто-то получил доступ к нашему серверу по ssh, время подключения и адрес клиента.

О методике написания скриптов
Создаем текстовый файл, редактируем его, устанавливаем права на выполнение, запускаем, смотрим ошибки, исправляем, запускаем, смотрим ошибки…
Когда все вылизано и работает правильно, ставим его в автозагрузку либо в планировщик на определенное время.

2. Обучение написанию сценариев на внутреннем языке BASH
оригинал: https://www.linuxconfig.org/Bash_scripting_Tutorial

Это руководство предполагает отсутствие предварительных знаний о методике написания сценариев (далее скриптов) с помощью внутреннего языка Bash. С помощью данного руководства вы обнаружите в скором времени, что написание скриптов очень простая задача. Давайте начнем наше обучение с простого сценария, выполняющего вывод строки «Hello World!» (в перев. с англ. — Всем привет!)

1. Сценарий «Всем привет»
Вот ваш первый пример bash-скрипта:

Переходим в директорию, содержащую наш файл hello_world.sh и делаем его исполняемым:

Запускаем скрипт на выполнение

2. Простой архивирующий bash-скрипт

3. Работа с переменными
В данном примере мы объявляем простую переменную и выводим её на экран с помощью команды echo

Наш архивирующий скрипт с переменными:

3.1 Глобальные и локальные переменные

4. Передаем аргументы в скрипт

5. Выполнение в скрипте команд оболочки

Как видим, во втором случае вывелась сама команда, а не результат её выполнения

6. Читаем пользовательский ввод (интерактивность)

7. Использование ловушки

Как видим, сочетание клавишь Ctrl-C не остановило выполнение скрипта.

8. Массивы
8.1 Объявляем простой массив

8.2 Заполняем массив значениями из файла

9. Условия «если-то-иначе»
9.1. Простое использование «если-иначе» условий
Обратите внимание на пробелы в квадратных скобках, без которых условие работать не будет.

9.2 Вложенные «если-иначе» условия

echo «You have chosen word: Bash»

Таким образом сначала тело цикла «while» выполняется, т.к. переменная choice изначально равна четырем. Потом читаем в неё пользовательский ввод, и если ввод не равен 1,2 или 3 то делаем нашу переменную снова равную 4, в связи с чем тело цикла повторяется (снова необходимо вводить 1,2 или 3).

10. Сравнения
10.1 Арифметические сравнения

10.2 Символьно-текстовые сравнения

11. Проверка файлов

12. Циклы
12.1. Цикл For

Запуск for-цикла из командной строки bash:

12.4. Циклы с неявными условиями
В следующем примере условием while-цикла является наличие стандартного ввода.
Тело цикла будет выполняться пока есть чему перенаправляться из стандартного вывода в команду read.

Источник

compizomania

Азбука в Linux для начинающих и не только. Я знаю только то, что ничего не знаю, но другие не знают и этого. Сократ

Страницы

03 января 2017

Как создать собственный script (скрипт-сценарий) в Linux

ubuntu как создать скрипт. Bash script 1.%25D0%25BC%25D0%25B0%25D1%2581%25D1%2588%25D1%2582%25D0%25B0%25D0%25B1%25D0%25B8%25D1%2580%25D0%25BE%25D0%25B2%25D0%25B0%25D0%25BD%25D0%25BD%25D0%25BE%25D0%25B5. ubuntu как создать скрипт фото. ubuntu как создать скрипт-Bash script 1.%25D0%25BC%25D0%25B0%25D1%2581%25D1%2588%25D1%2582%25D0%25B0%25D0%25B1%25D0%25B8%25D1%2580%25D0%25BE%25D0%25B2%25D0%25B0%25D0%25BD%25D0%25BD%25D0%25BE%25D0%25B5. картинка ubuntu как создать скрипт. картинка Bash script 1.%25D0%25BC%25D0%25B0%25D1%2581%25D1%2588%25D1%2582%25D0%25B0%25D0%25B1%25D0%25B8%25D1%2580%25D0%25BE%25D0%25B2%25D0%25B0%25D0%25BD%25D0%25BD%25D0%25BE%25D0%25B5. Автор: Кузнецов Константин

Прежде всего давайте разберём, что такое script и для чего он нужен.

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

Для начала давайте создадим самый, что ни на есть, простейший скрипт-Shell для обновления системы.

Далее, следующей строкой следует описание того, что должен выполнить наш первый скрипт/сценарий:

# Мой первый Script обновления Ubuntu

Далее в скрипте следуют выполняемые строки с командами, в данном случае для обновления системы Ubuntu:

Вот и всё. Ваш первый скрипт создан. У вас должно получиться как на снимке:

ubuntu как создать скрипт. %25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2017 01 03%2B16 27 20. ubuntu как создать скрипт фото. ubuntu как создать скрипт-%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2017 01 03%2B16 27 20. картинка ubuntu как создать скрипт. картинка %25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2017 01 03%2B16 27 20. Автор: Кузнецов Константин

ubuntu как создать скрипт. %25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2017 01 03%2B16 37 32. ubuntu как создать скрипт фото. ubuntu как создать скрипт-%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2017 01 03%2B16 37 32. картинка ubuntu как создать скрипт. картинка %25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2017 01 03%2B16 37 32. Автор: Кузнецов Константин

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

1. Выполнить следующую команду в терминале:

sudo chmod +x обновление.sh

ubuntu как создать скрипт. %25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2017 01 03%2B16 54 11. ubuntu как создать скрипт фото. ubuntu как создать скрипт-%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2017 01 03%2B16 54 11. картинка ubuntu как создать скрипт. картинка %25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2017 01 03%2B16 54 11. Автор: Кузнецов Константин

ubuntu как создать скрипт. %25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2017 01 03%2B17 10 53. ubuntu как создать скрипт фото. ubuntu как создать скрипт-%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2017 01 03%2B17 10 53. картинка ubuntu как создать скрипт. картинка %25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2017 01 03%2B17 10 53. Автор: Кузнецов Константин

Либо в терминале вводим sh и перетаскиваем из файлового менеджера созданный файл с скриптом (также через пробел):

ubuntu как создать скрипт. %25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2017 01 03%2B17 17 39. ubuntu как создать скрипт фото. ubuntu как создать скрипт-%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2017 01 03%2B17 17 39. картинка ubuntu как создать скрипт. картинка %25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2017 01 03%2B17 17 39. Автор: Кузнецов Константин

После того как путь к файлу отобразится после команды sh и пробела, достаточно нажать клавишу Enter (Ввод), чтобы выполнить обновление системы:

ubuntu как создать скрипт. %25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2017 01 03%2B17 18 36. ubuntu как создать скрипт фото. ubuntu как создать скрипт-%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2017 01 03%2B17 18 36. картинка ubuntu как создать скрипт. картинка %25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2017 01 03%2B17 18 36. Автор: Кузнецов Константин

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

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

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

В текстовом редакторе вводим первую обязательную строку:

Далее закомментированные строки с описанием:

# Настройка Ubuntu после уставновки
# Обновление системы

Ниже следуют команды обновления системы:

Строка описания: Добавление репозиториев:

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

После того как необходимые репозитории добавлены (повторюсь, у вас могут быть свои репозитории, у меня пример), необходимо обновить систему:

Строка с описанием:

# Обновление системы после подключения репозиториев

И команда на выполнение:

Теперь, когда репозитории добавлены и система обновлена, наступила очередь в установке программ:

Для установки программ достаточно один раз ввести команду sudo apt install, а затем через пробел в данную строку добавлять сколько угодно программ, главное чтобы они были правильно составлены. Если какая-то программа состоит из нескольких слов, её команда должна быть монолитной, т.е. все слова в ней должны вводится через чёрточку, например: unity-tweak-tool:

Установка дополнительных кодеков

# Мультимедиа и кодеки

Отключение о сбоях в системе

# Отключить отчёты о сбоях в системе

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

ubuntu как создать скрипт. %25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2017 01 03%2B20 59 54. ubuntu как создать скрипт фото. ubuntu как создать скрипт-%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2017 01 03%2B20 59 54. картинка ubuntu как создать скрипт. картинка %25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2017 01 03%2B20 59 54. Автор: Кузнецов Константин

ubuntu как создать скрипт. %25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2017 01 03%2B21 08 54. ubuntu как создать скрипт фото. ubuntu как создать скрипт-%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2017 01 03%2B21 08 54. картинка ubuntu как создать скрипт. картинка %25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA%2B%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0%2B%25D0%25BE%25D1%2582%2B2017 01 03%2B21 08 54. Автор: Кузнецов Константин

Делаем созданный скрипт исполняемым:

sudo chmod +x Настройка\ Ubuntu.sh

Для выполнения созданного скрипта введите в терминале sh и название созданного скрипта через пробел, либо sh, пробел и перетащить в терминал созданный файл, как объяснялось ранее в простейшем скрипте и нажмите клавишу Ввод, для его выполнения.

Источник

ИТ База знаний

Полезно

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Навигация

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Протоколы и стандарты

🔥 Популярное

Руководство по команде grep в Linux

15 примеров команды PING для диагностики сети

Рекурсивно найти слово в файлах и папках Linux

15 примеров CURL в Linux

👌 Похожее

16 полезных примеров grep

Регулярные выражения в Linux

Пошаговое руководство как собрать ядро Linux с нуля

Установка и настройка ClamAV Linux

Учимся писать базовые скрипты в Unix и Linux

Если вы еще не умеете писать скрипты в системах Unix и Linux, эта статья познакомит с основами написания скриптов.

ubuntu как создать скрипт. 1. ubuntu как создать скрипт фото. ubuntu как создать скрипт-1. картинка ubuntu как создать скрипт. картинка 1. Автор: Кузнецов Константин

Онлайн курс по Linux

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

ubuntu как создать скрипт. laptop. ubuntu как создать скрипт фото. ubuntu как создать скрипт-laptop. картинка ubuntu как создать скрипт. картинка laptop. Автор: Кузнецов Константин

Идентификация оболочки.

Вы также можете определить свою основную оболочку, просмотрев файл /etc/passwd :

На выводе видно, что доступно всего девять оболочек.

Выбор оболочки

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

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

Выполнение команд

Чтобы запустить этот скрипт, выполните команду:

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

Делаем файл исполняемым

Чтобы сделать скрипт исполняемым, используйте команду chmod и убедитесь, что предполагаемые пользователи могут его запустить. Например:

Использование команды if

Команда if позволяет вам проверять условия или переменные. В примере ниже мы проверяем, запускается ли скрипт в пятницу.

Понятие переменных

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

Человек, запускающий сценарий, увидит приглашение и введет ответ :

Использование аргументов командной строки

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

Различные способы создания циклов

Использование оператора case

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

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

Реакция на ошибки

Онлайн курс по Linux

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

Источник

Bash-скрипты: начало

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

ubuntu как создать скрипт. image loader. ubuntu как создать скрипт фото. ubuntu как создать скрипт-image loader. картинка ubuntu как создать скрипт. картинка image loader. Автор: Кузнецов Константин

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

ubuntu как создать скрипт. image loader. ubuntu как создать скрипт фото. ubuntu как создать скрипт-image loader. картинка ubuntu как создать скрипт. картинка image loader. Автор: Кузнецов Константин

Итак, если говорить о командной строке, она позволяет выполнить несколько команд за один раз, введя их через точку с запятой:

На самом деле, если вы опробовали это в своём терминале, ваш первый bash-скрипт, в котором задействованы две команды, уже написан. Работает он так. Сначала команда pwd выводит на экран сведения о текущей рабочей директории, потом команда whoami показывает данные о пользователе, под которым вы вошли в систему.

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

Командная строка — отличный инструмент, но команды в неё приходится вводить каждый раз, когда в них возникает необходимость. Что если записать набор команд в файл и просто вызывать этот файл для их выполнения? Собственно говоря, тот файл, о котором мы говорим, и называется сценарием командной строки.

Как устроены bash-скрипты

Команды оболочки отделяются знаком перевода строки, комментарии выделяют знаком решётки. Вот как это выглядит:

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

Установка разрешений для файла сценария

ubuntu как создать скрипт. image loader. ubuntu как создать скрипт фото. ubuntu как создать скрипт-image loader. картинка ubuntu как создать скрипт. картинка image loader. Автор: Кузнецов Константин

Попытка запуска файла сценария с неправильно настроенными разрешениями

Сделаем файл исполняемым:

Теперь попытаемся его выполнить:

После настройки разрешений всё работает как надо.

ubuntu как создать скрипт. image loader. ubuntu как создать скрипт фото. ubuntu как создать скрипт-image loader. картинка ubuntu как создать скрипт. картинка image loader. Автор: Кузнецов Константин

Успешный запуск bash-скрипта

Вывод сообщений

Вот что получится после запуска обновлённого скрипта.

ubuntu как создать скрипт. image loader. ubuntu как создать скрипт фото. ubuntu как создать скрипт-image loader. картинка ubuntu как создать скрипт. картинка image loader. Автор: Кузнецов Константин

Вывод сообщений из скрипта

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

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

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

Существуют два типа переменных, которые можно использовать в bash-скриптах:

Переменные среды

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

ubuntu как создать скрипт. image loader. ubuntu как создать скрипт фото. ubuntu как создать скрипт-image loader. картинка ubuntu как создать скрипт. картинка image loader. Автор: Кузнецов Константин

Использование переменной среды в сценарии

А что если надо вывести на экран значок доллара? Попробуем так:

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

Теперь сценарий выведет именно то, что ожидается.

ubuntu как создать скрипт. image loader. ubuntu как создать скрипт фото. ubuntu как создать скрипт-image loader. картинка ubuntu как создать скрипт. картинка image loader. Автор: Кузнецов Константин

Использование управляющей последовательности для вывода знака доллара

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

В дополнение к переменным среды, bash-скрипты позволяют задавать и использовать в сценарии собственные переменные. Подобные переменные хранят значение до тех пор, пока не завершится выполнение сценария.

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

Вот что получится после запуска такого сценария.

ubuntu как создать скрипт. image loader. ubuntu как создать скрипт фото. ubuntu как создать скрипт-image loader. картинка ubuntu как создать скрипт. картинка image loader. Автор: Кузнецов Константин

Пользовательские переменные в сценарии

Подстановка команд

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

Сделать это можно двумя способами.

При втором подходе то же самое записывают так:

А скрипт, в итоге, может выглядеть так:

ubuntu как создать скрипт. image loader. ubuntu как создать скрипт фото. ubuntu как создать скрипт-image loader. картинка ubuntu как создать скрипт. картинка image loader. Автор: Кузнецов Константин

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

Математические операции

ubuntu как создать скрипт. image loader. ubuntu как создать скрипт фото. ubuntu как создать скрипт-image loader. картинка ubuntu как создать скрипт. картинка image loader. Автор: Кузнецов Константин

Математические операции в сценарии

Управляющая конструкция if-then

А вот рабочий пример:

В данном случае, если выполнение команды pwd завершится успешно, в консоль будет выведен текст «it works».

Вот что получается после запуска этого скрипта.

ubuntu как создать скрипт. image loader. ubuntu как создать скрипт фото. ubuntu как создать скрипт-image loader. картинка ubuntu как создать скрипт. картинка image loader. Автор: Кузнецов Константин

В этом примере, если пользователь найден, скрипт выведет соответствующее сообщение. А если найти пользователя не удалось? В данном случае скрипт просто завершит выполнение, ничего нам не сообщив. Хотелось бы, чтобы он сказал нам и об этом, поэтому усовершенствуем код.

Управляющая конструкция if-then-else

Напишем такой скрипт:

ubuntu как создать скрипт. image loader. ubuntu как создать скрипт фото. ubuntu как создать скрипт-image loader. картинка ubuntu как создать скрипт. картинка image loader. Автор: Кузнецов Константин

Запуск скрипта с конструкцией if-then-else

Ну что же, продолжаем двигаться дальше и зададимся вопросом о более сложных условиях. Что если надо проверить не одно условие, а несколько? Например, если нужный пользователь найден, надо вывести одно сообщение, если выполняется ещё какое-то условие — ещё одно сообщение, и так далее. В подобной ситуации нам помогут вложенные условия. Выглядит это так:

Сравнение чисел

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

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

Вот что выведет эта команда.

ubuntu как создать скрипт. image loader. ubuntu как создать скрипт фото. ubuntu как создать скрипт-image loader. картинка ubuntu как создать скрипт. картинка image loader. Автор: Кузнецов Константин

Сравнение чисел в скриптах

Значение переменной val1 больше чем 5, в итоге выполняется ветвь then оператора сравнения и в консоль выводится соответствующее сообщение.

Сравнение строк

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

Вот пример сравнения строк в сценарии:

В результате выполнения скрипта получим следующее.

ubuntu как создать скрипт. image loader. ubuntu как создать скрипт фото. ubuntu как создать скрипт-image loader. картинка ubuntu как создать скрипт. картинка image loader. Автор: Кузнецов Константин

Сравнение строк в скриптах

Вот одна особенность сравнения строк, о которой стоит упомянуть. А именно, операторы «>» и « » как команду перенаправления вывода.

Вот как работа с этими операторами выглядит в коде:

Вот результаты работы скрипта.

ubuntu как создать скрипт. image loader. ubuntu как создать скрипт фото. ubuntu как создать скрипт-image loader. картинка ubuntu как создать скрипт. картинка image loader. Автор: Кузнецов Константин

Сравнение строк, выведенное предупреждение

Обратите внимание на то, что скрипт, хотя и выполняется, выдаёт предупреждение:

Теперь всё работает как надо.

ubuntu как создать скрипт. image loader. ubuntu как создать скрипт фото. ubuntu как создать скрипт-image loader. картинка ubuntu как создать скрипт. картинка image loader. Автор: Кузнецов Константин

Она отсортирует строки из файла так:

Если его запустить, окажется, что всё наоборот — строчная буква теперь больше прописной.

ubuntu как создать скрипт. image loader. ubuntu как создать скрипт фото. ubuntu как создать скрипт-image loader. картинка ubuntu как создать скрипт. картинка image loader. Автор: Кузнецов Константин

Команда sort и сравнение строк в файле сценария

В командах сравнения прописные буквы меньше строчных. Сравнение строк здесь выполняется путём сравнения ASCII-кодов символов, порядок сортировки, таким образом, зависит от кодов символов.

Проверки файлов

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

Эти команды, как впрочем, и многие другие рассмотренные сегодня, несложно запомнить. Их имена, являясь сокращениями от различных слов, прямо указывают на выполняемые ими проверки.

Опробуем одну из команд на практике:

Этот скрипт, для существующей директории, выведет её содержимое.

ubuntu как создать скрипт. image loader. ubuntu как создать скрипт фото. ubuntu как создать скрипт-image loader. картинка ubuntu как создать скрипт. картинка image loader. Автор: Кузнецов Константин

Вывод содержимого директории

Полагаем, с остальными командами вы сможете поэкспериментировать самостоятельно, все они применяются по тому же принципу.

Итоги

Сегодня мы рассказали о том, как приступить к написанию bash-скриптов и рассмотрели некоторые базовые вещи. На самом деле, тема bash-программирования огромна. Эта статья является переводом первой части большой серии из 11 материалов. Если вы хотите продолжения прямо сейчас — вот список оригиналов этих материалов. Для удобства сюда включён и тот, перевод которого вы только что прочли.

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

Источник

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

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