создание и запуск скрипта в linux

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

Полезно

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

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

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

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

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

Навигация

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

Телефония

FreePBX и Asterisk

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

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

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

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

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

создание и запуск скрипта в linux. 1. создание и запуск скрипта в linux фото. создание и запуск скрипта в linux-1. картинка создание и запуск скрипта в linux. картинка 1. — Онлайн генератор устойчивых паролей

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

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

создание и запуск скрипта в linux. laptop. создание и запуск скрипта в linux фото. создание и запуск скрипта в linux-laptop. картинка создание и запуск скрипта в linux. картинка laptop. — Онлайн генератор устойчивых паролей

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник

compizomania

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

Страницы

03 января 2017

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

создание и запуск скрипта в linux. 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. создание и запуск скрипта в linux фото. создание и запуск скрипта в linux-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. картинка создание и запуск скрипта в linux. картинка 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:

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

создание и запуск скрипта в linux. %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. создание и запуск скрипта в linux фото. создание и запуск скрипта в linux-%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. картинка создание и запуск скрипта в linux. картинка %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. — Онлайн генератор устойчивых паролей

создание и запуск скрипта в linux. %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. создание и запуск скрипта в linux фото. создание и запуск скрипта в linux-%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. картинка создание и запуск скрипта в linux. картинка %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

создание и запуск скрипта в linux. %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. создание и запуск скрипта в linux фото. создание и запуск скрипта в linux-%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. картинка создание и запуск скрипта в linux. картинка %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. — Онлайн генератор устойчивых паролей

создание и запуск скрипта в linux. %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. создание и запуск скрипта в linux фото. создание и запуск скрипта в linux-%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. картинка создание и запуск скрипта в linux. картинка %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 и перетаскиваем из файлового менеджера созданный файл с скриптом (также через пробел):

создание и запуск скрипта в linux. %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. создание и запуск скрипта в linux фото. создание и запуск скрипта в linux-%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. картинка создание и запуск скрипта в linux. картинка %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 (Ввод), чтобы выполнить обновление системы:

создание и запуск скрипта в linux. %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. создание и запуск скрипта в linux фото. создание и запуск скрипта в linux-%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. картинка создание и запуск скрипта в linux. картинка %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:

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

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

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

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

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

создание и запуск скрипта в linux. %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. создание и запуск скрипта в linux фото. создание и запуск скрипта в linux-%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. картинка создание и запуск скрипта в linux. картинка %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. — Онлайн генератор устойчивых паролей

создание и запуск скрипта в linux. %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. создание и запуск скрипта в linux фото. создание и запуск скрипта в linux-%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. картинка создание и запуск скрипта в linux. картинка %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, пробел и перетащить в терминал созданный файл, как объяснялось ранее в простейшем скрипте и нажмите клавишу Ввод, для его выполнения.

Источник

Запуск скрипта sh в Linux

Вся сила Linux в использовании терминала. Это такая командная оболочка, где вы можете выполнять различные команды, которые будут быстро и эффективно выполнять различные действия. Ну впрочем, вы наверное это уже знаете. Для Linux было создано множество скриптов, которые выполняются в различных командных оболочках. Это очень удобно, вы просто объединяете несколько команд, которые выполняют определенное действие, а затем выполняете их одной командой или даже с помощью ярлыка.

Как работают скрипты

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

Запуск скрипта sh в Linux

Сначала рассмотрим пример небольшого sh скрипта:

#!/bin/bash
echo «Hello world»

создание и запуск скрипта в linux. Snimok ekrana ot 2017 09 08 21 28 42. создание и запуск скрипта в linux фото. создание и запуск скрипта в linux-Snimok ekrana ot 2017 09 08 21 28 42. картинка создание и запуск скрипта в linux. картинка Snimok ekrana ot 2017 09 08 21 28 42. — Онлайн генератор устойчивых паролей

chmod ugo+x script.sh

создание и запуск скрипта в linux. Snimok ekrana ot 2017 09 08 21 29 45. создание и запуск скрипта в linux фото. создание и запуск скрипта в linux-Snimok ekrana ot 2017 09 08 21 29 45. картинка создание и запуск скрипта в linux. картинка Snimok ekrana ot 2017 09 08 21 29 45. — Онлайн генератор устойчивых паролейсоздание и запуск скрипта в linux. Snimok ekrana ot 2017 09 08 21 30 07. создание и запуск скрипта в linux фото. создание и запуск скрипта в linux-Snimok ekrana ot 2017 09 08 21 30 07. картинка создание и запуск скрипта в linux. картинка Snimok ekrana ot 2017 09 08 21 30 07. — Онлайн генератор устойчивых паролей

создание и запуск скрипта в linux. Snimok ekrana ot 2017 09 08 21 30 13. создание и запуск скрипта в linux фото. создание и запуск скрипта в linux-Snimok ekrana ot 2017 09 08 21 30 13. картинка создание и запуск скрипта в linux. картинка Snimok ekrana ot 2017 09 08 21 30 13. — Онлайн генератор устойчивых паролей

Или полный путь от корня:

создание и запуск скрипта в linux. Snimok ekrana ot 2017 09 08 21 30 28. создание и запуск скрипта в linux фото. создание и запуск скрипта в linux-Snimok ekrana ot 2017 09 08 21 30 28. картинка создание и запуск скрипта в linux. картинка Snimok ekrana ot 2017 09 08 21 30 28. — Онлайн генератор устойчивых паролей

cp script.sh /usr/local/bin/script.sh

Теперь вы можете выполнить:

создание и запуск скрипта в linux. Snimok ekrana ot 2017 09 08 21 31 15. создание и запуск скрипта в linux фото. создание и запуск скрипта в linux-Snimok ekrana ot 2017 09 08 21 31 15. картинка создание и запуск скрипта в linux. картинка Snimok ekrana ot 2017 09 08 21 31 15. — Онлайн генератор устойчивых паролей

создание и запуск скрипта в linux. Snimok ekrana ot 2017 09 08 21 31 25. создание и запуск скрипта в linux фото. создание и запуск скрипта в linux-Snimok ekrana ot 2017 09 08 21 31 25. картинка создание и запуск скрипта в linux. картинка Snimok ekrana ot 2017 09 08 21 31 25. — Онлайн генератор устойчивых паролей

А если нам нужно запустить скрипт на php, то выполните:

Вот так все просто здесь работает. Так можно запустить скрипт как фоновый процесс, используйте символ &:

Даже запустить процесс linux не так сложно.

Выводы

Источник

Написание скриптов на Bash

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

Основы скриптов

Простейший пример скрипта для командной оболочки Bash:

#!/bin/bash
echo «Hello world»

создание и запуск скрипта в linux. bash1. создание и запуск скрипта в linux фото. создание и запуск скрипта в linux-bash1. картинка создание и запуск скрипта в linux. картинка bash1. — Онлайн генератор устойчивых паролей

Утилита echo выводит строку, переданную ей в параметре на экран. Первая строка особая, она задает программу, которая будет выполнять команды. Вообще говоря, мы можем создать скрипт на любом другом языке программирования и указать нужный интерпретатор, например, на python:

#!/usr/bin/env python
print(«Hello world»)

#!/usr/bin/env php
echo «Hello world»;

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

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

chmod ugo+x файл_скрипта

Теперь выполняем нашу небольшую первую программу:

создание и запуск скрипта в linux. bash. создание и запуск скрипта в linux фото. создание и запуск скрипта в linux-bash. картинка создание и запуск скрипта в linux. картинка bash. — Онлайн генератор устойчивых паролей

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

Переменные в скриптах

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

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

Например, объявим переменную string:

Модифицируем наш скрипт:

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

создание и запуск скрипта в linux. bash2. создание и запуск скрипта в linux фото. создание и запуск скрипта в linux-bash2. картинка создание и запуск скрипта в linux. картинка bash2. — Онлайн генератор устойчивых паролей

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

Переменные и вывод команд

Переменные не были бы настолько полезны, если бы в них невозможно было записать результат выполнения утилит. Для этого используется такой синтаксис:

$( команда )

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

создание и запуск скрипта в linux. bash3. создание и запуск скрипта в linux фото. создание и запуск скрипта в linux-bash3. картинка создание и запуск скрипта в linux. картинка bash3. — Онлайн генератор устойчивых паролей

Понимаете? Напишем скрипт, где будет выводиться hello world и дата:

создание и запуск скрипта в linux. bash4. создание и запуск скрипта в linux фото. создание и запуск скрипта в linux-bash4. картинка создание и запуск скрипта в linux. картинка bash4. — Онлайн генератор устойчивых паролей

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

Параметры скрипта

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

Переменная с именем 1 содержит значение первого параметра, переменная 2, второго и так далее. Этот bash скрипт выведет значение первого параметра:

создание и запуск скрипта в linux. bash6. создание и запуск скрипта в linux фото. создание и запуск скрипта в linux-bash6. картинка создание и запуск скрипта в linux. картинка bash6. — Онлайн генератор устойчивых паролей

создание и запуск скрипта в linux. bash5. создание и запуск скрипта в linux фото. создание и запуск скрипта в linux-bash5. картинка создание и запуск скрипта в linux. картинка bash5. — Онлайн генератор устойчивых паролей

Управляющие конструкции в скриптах

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

В Bash для проверки условий есть команда Синтаксис ее такой:

if команда_условие
then
команда
else
команда
fi

Эта команда проверяет код завершения команды условия, и если 0 (успех) то выполняет команду или несколько команд после слова then, если код завершения 1 выполняется блок else, fi означает завершение блока команд.

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

[[ параметр1 оператор параметр2 ]]

создание и запуск скрипта в linux. bash7. создание и запуск скрипта в linux фото. создание и запуск скрипта в linux-bash7. картинка создание и запуск скрипта в linux. картинка bash7. — Онлайн генератор устойчивых паролей

Теперь объединением все это и получим скрипт с условным выражением:

создание и запуск скрипта в linux. bash8. создание и запуск скрипта в linux фото. создание и запуск скрипта в linux-bash8. картинка создание и запуск скрипта в linux. картинка bash8. — Онлайн генератор устойчивых паролей

создание и запуск скрипта в linux. bash9. создание и запуск скрипта в linux фото. создание и запуск скрипта в linux-bash9. картинка создание и запуск скрипта в linux. картинка bash9. — Онлайн генератор устойчивых паролей

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

Циклы в скриптах

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

Первым рассмотрим цикл for. Вот его синтаксис:

for переменная in список
do
команда
done

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

Например, переберем пять цифр:

создание и запуск скрипта в linux. bash10. создание и запуск скрипта в linux фото. создание и запуск скрипта в linux-bash10. картинка создание и запуск скрипта в linux. картинка bash10. — Онлайн генератор устойчивых паролей

создание и запуск скрипта в linux. bash11. создание и запуск скрипта в linux фото. создание и запуск скрипта в linux-bash11. картинка создание и запуск скрипта в linux. картинка bash11. — Онлайн генератор устойчивых паролей

Или вы можете перечислить все файлы из текущей директории:

создание и запуск скрипта в linux. bash12. создание и запуск скрипта в linux фото. создание и запуск скрипта в linux-bash12. картинка создание и запуск скрипта в linux. картинка bash12. — Онлайн генератор устойчивых паролей

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

while команда условие
do
команда
done

создание и запуск скрипта в linux. bash14. создание и запуск скрипта в linux фото. создание и запуск скрипта в linux-bash14. картинка создание и запуск скрипта в linux. картинка bash14. — Онлайн генератор устойчивых паролей

создание и запуск скрипта в linux. bash13. создание и запуск скрипта в linux фото. создание и запуск скрипта в linux-bash13. картинка создание и запуск скрипта в linux. картинка bash13. — Онлайн генератор устойчивых паролей

Как видите, все выполняется, команда let просто выполняет указанную математическую операцию, в нашем случае увеличивает значение переменной на единицу.

Хотелось бы отметить еще кое-что. Такие конструкции, как while, for, if рассчитаны на запись в несколько строк, и если вы попытаетесь их записать в одну строку, то получите ошибку. Но тем не менее это возможно, для этого там, где должен быть перевод строки ставьте точку с запятой «;». Например, предыдущий цикл можно было выполнить в виде одной строки:

Все очень просто я пытался не усложнять статью дополнительными терминами и возможностями bash, только самое основное. В некоторых случаях, возможно, вам понадобиться сделать gui для bash скрипта, тогда вы можете использовать такие программы как zenity или kdialog, с помощью них очень удобно выводить сообщения пользователю и даже запрашивать у него информацию.

Выводы

Теперь вы понимаете основы создания скрипта в linux и можете написать нужный вам скрипт, например, для резервного копирования. Я пытался рассматривать bash скрипты с нуля. Поэтому далеко не все аспекты были рассмотрены. Возможно, мы еще вернемся к этой теме в одной из следующих статей.

Источник

Что такое bash в Linux? Гайд по созданию bash-скриптов

Обновл. 29 Июл 2021 |

bash (сокр. от «Bourne-Again shell») — это командная оболочка (или «интерпретатор командной строки»), используемая по умолчанию в операционных системах на базе Unix и Linux, созданная в 1989 году Брайаном Фоксом с целью усовершенствования командной оболочки sh.

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

Что такое терминал?

Терминал — это программа, которая используется для взаимодействия с шеллом. Это просто интерфейс к нему и другим программам командной строки, которые работают внутри нее. Вот как выглядит типичный терминал (Konsole) в Debian 11 (окружение рабочего стола — KDE Plasma):

создание и запуск скрипта в linux. 4 1. создание и запуск скрипта в linux фото. создание и запуск скрипта в linux-4 1. картинка создание и запуск скрипта в linux. картинка 4 1. — Онлайн генератор устойчивых паролей

Типичный терминал в Linux

Всякий раз, когда мы открываем окно терминала, мы видим приглашение шелла — имя_пользователя@имя_машины:

Команды в bash

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

Команда echo — возвращает всё, что вы вводите в командной строке:

создание и запуск скрипта в linux. 7 1. создание и запуск скрипта в linux фото. создание и запуск скрипта в linux-7 1. картинка создание и запуск скрипта в linux. картинка 7 1. — Онлайн генератор устойчивых паролей

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

Команда date — отображает текущее время и дату:

создание и запуск скрипта в linux. 8 1. создание и запуск скрипта в linux фото. создание и запуск скрипта в linux-8 1. картинка создание и запуск скрипта в linux. картинка 8 1. — Онлайн генератор устойчивых паролей

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

Команда pwd (сокр. от «print working directory») — указывает на текущий рабочий каталог, в котором команды шелла будут искать файлы.

создание и запуск скрипта в linux. 11. создание и запуск скрипта в linux фото. создание и запуск скрипта в linux-11. картинка создание и запуск скрипта в linux. картинка 11. — Онлайн генератор устойчивых паролей

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

создание и запуск скрипта в linux. 12. создание и запуск скрипта в linux фото. создание и запуск скрипта в linux-12. картинка создание и запуск скрипта в linux. картинка 12. — Онлайн генератор устойчивых паролей

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

Команда cd (сокр. от «change directory») — изменяет текущую директорию на заданную пользователем. Рассмотрим некоторые примеры использования данной команды:

cd — меняет текущую директорию на заданную. Давайте попробуем с помощью команды ls перейти к корневому каталогу / и ознакомимся с его содержимым. Обратите внимание, что мы также можем использовать точку с запятой ; для записи двух команд в одной строке.

создание и запуск скрипта в linux. 15 1. создание и запуск скрипта в linux фото. создание и запуск скрипта в linux-15 1. картинка создание и запуск скрипта в linux. картинка 15 1. — Онлайн генератор устойчивых паролей

Пример объединения двух команд в одной строке

cd — вернуться в домашний каталог.

Команда mkdir (сокр. от «make directory») создает новый каталог.

Команда mv (сокр. от «mov) — перемещает один или несколько файлов/каталогов из одного места в другое (заданное пользователем). Для этого нужно указать, что мы хотим переместить (т.е. источник), и куда мы хотим переместить (т.е. пункт назначения).

В качестве примера я создам новый каталог Ravesli в своей домашней директории и перемещу в него все .txt-файлы (ну как «все», у меня там только один файл — Адреса.txt) из /home/diego/Документы/ с помощью двух вышеприведенных команд:

создание и запуск скрипта в linux. 16. создание и запуск скрипта в linux фото. создание и запуск скрипта в linux-16. картинка создание и запуск скрипта в linux. картинка 16. — Онлайн генератор устойчивых паролей

Перемещение файлов с помощью команды mv

Команда touch — создает новые пустые файлы (а также изменяет временные метки в существующих файлах и каталогах). Вот как мы можем создать пустой файл под названием foo.txt в папке Ravesli из домашнего каталога:

создание и запуск скрипта в linux. 17. создание и запуск скрипта в linux фото. создание и запуск скрипта в linux-17. картинка создание и запуск скрипта в linux. картинка 17. — Онлайн генератор устойчивых паролей

Создание файла с помощью команды touch

Давайте удалим ранее созданный файл foo.txt:

создание и запуск скрипта в linux. 18. создание и запуск скрипта в linux фото. создание и запуск скрипта в linux-18. картинка создание и запуск скрипта в linux. картинка 18. — Онлайн генератор устойчивых паролей

Удаление файла с помощью команды rm

Команда rmdir (сокр. от «remove directory») — удаляет каталоги.

Давайте удалим созданный ранее каталог /home/diego/Ravesli:

создание и запуск скрипта в linux. 19. создание и запуск скрипта в linux фото. создание и запуск скрипта в linux-19. картинка создание и запуск скрипта в linux. картинка 19. — Онлайн генератор устойчивых паролей

Удаление каталогов с помощью команды rmdir

Команда cat (сокр. от «concatenate») — считывает файл и выводит его содержимое. Она может работать с несколькими файлами, объединяя их вывод в единый поток (отсюда и происходит её название). У меня в домашнем каталоге есть папка untitled с файлами С++/Qt-проекта, и ниже я использую команду cat для просмотра содержимого файла main.cpp из untitled:

создание и запуск скрипта в linux. 20. создание и запуск скрипта в linux фото. создание и запуск скрипта в linux-20. картинка создание и запуск скрипта в linux. картинка 20. — Онлайн генератор устойчивых паролей

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

создание и запуск скрипта в linux. 21. создание и запуск скрипта в linux фото. создание и запуск скрипта в linux-21. картинка создание и запуск скрипта в linux. картинка 21. — Онлайн генератор устойчивых паролей

Просмотр нескольких файлов с помощью команды cat

создание и запуск скрипта в linux. 22. создание и запуск скрипта в linux фото. создание и запуск скрипта в linux-22. картинка создание и запуск скрипта в linux. картинка 22. — Онлайн генератор устойчивых паролей

Отображение справочной информации с помощью команды man

Редактор nano

создание и запуск скрипта в linux. 28 1. создание и запуск скрипта в linux фото. создание и запуск скрипта в linux-28 1. картинка создание и запуск скрипта в linux. картинка 28 1. — Онлайн генератор устойчивых паролей

Гайд по созданию bash-скриптов

Наш шелл, это не только промежуточное звено между пользователем и системой, но еще и мощный язык программирования. Программы, написанные на языке шелла, называются shell-скриптами (или shell-сценариями) и имеют соответствующее расширение файлов — .sh. Сам язык содержит полный набор утилит и команд, доступных в *nix-системах, а также циклы, условные операторы, объявление переменных и пр. Такие скрипты будут очень полезными там, где не требуется использование полноценных языков программирования, например, в задачах администрирования операционной системы.

Создание bash-скрипта

Чтобы создать новый файл bash-скрипта, откройте в любом редакторе текстовый файл и сохраните его с расширением .sh. Все дальнейшие эксперименты я будут проводить в Debian Linux, с применением текстового редактора nano.

Давайте создадим новый файл ravesli.sh:

$ touch ravesli.sh
diego@debian:

Чтобы выполнить файл bash-скрипта, нужно изменить права доступа к файлу и сделать его исполняемым. Разрешение, как вы наверняка помните из предыдущих уроков, изменяется командой chmod +x :

$ chmod +x ravesli.sh
diego@debian:

Выполнение bash-скрипта

Файл bash-скрипта может быть запущен двумя способами:

Источник

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

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