30 примеров сценариев Bash

30 Bash Script Examples




Сценарии Bash могут использоваться для различных целей, таких как выполнение команды оболочки, одновременный запуск нескольких команд, настройка административных задач, выполнение автоматизации задач и т. Д. Поэтому знание основ программирования на bash важно для каждого пользователя Linux. Эта статья поможет вам получить базовое представление о программировании на bash. Здесь объясняется большинство общих операций сценариев bash на очень простых примерах.

В этой статье рассматриваются следующие темы программирования на bash.







  1. Привет, мир
  2. Эхо-команда
  3. Комментарии
  4. Многострочный комментарий
  5. Пока цикл
  6. Для петли
  7. Получить ввод пользователя
  8. Если заявление
  9. И условие, если заявление
  10. Или Условие, если заявление
  11. Иначе if и else условие
  12. Состояние дела
  13. Получить аргументы из командной строки
  14. Получить аргументы из командной строки с именами
  15. Объединить две строки в переменную
  16. Получить подстроку строк
  17. Добавить 2 числа в переменную
  18. Создать функцию
  19. Использовать параметры функции
  20. Передать возвращаемое значение из скрипта
  21. Сделать каталог
  22. Сделать каталог, проверив наличие
  23. Прочитать файл
  24. Удалить файл
  25. Добавить в файл
  26. Проверить, существует ли файл
  27. Отправить пример электронной почты
  28. Получить текущую дату синтаксического анализа
  29. Подождите, команда
  30. Команда сна

Создайте и выполните первую программу BASH:

Вы можете запустить сценарий bash из терминала или выполнив любой файл bash. Выполните следующую команду из терминала, чтобы выполнить очень простой оператор bash. Вывод команды будет ‘ Привет, мир '.



$выбросил 'Привет, мир'



Откройте любой редактор, чтобы создать файл bash. Здесь, нано редактор используется для создания файла, а имя файла устанавливается как ‘ First.sh ’





$наноFirst.sh

Добавьте в файл следующий сценарий bash и сохраните файл.

#! / bin / bash
выбросил 'Привет, мир'



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

$трепатьFirst.sh

Или,

$chmodа + х First.sh
$./First.sh

Наверх

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

Вы можете использовать команду echo с различными параметрами. Некоторые полезные параметры упоминаются в следующем примере. Когда вы используете ‘ выбросил ’Без какой-либо опции, по умолчанию добавляется новая строка. ‘-N’ опция используется для печати любого текста без новой строки и '-А также' опция используется для удаления символов обратной косой черты из вывода. Создайте новый файл bash с именем ‘ echo_example.sh ’И добавьте следующий скрипт.

#! / bin / bash
выбросил 'Печать текста с новой строкой'
выбросил -n 'Печать текста без новой строки'
выбросил -А также ' пУдаление тобратная косая черта тсимволы п'

Запустите файл с помощью команды bash.

$трепатьecho_example.sh

Наверх

Использование комментария:

‘#’ символ используется для добавления однострочного комментария в сценарий bash. Создайте новый файл с именем ‘ comment_example.sh ’ и добавьте следующий сценарий с однострочным комментарием.

#! / bin / bash

# Добавить два числовых значения
((суммазнак равно25+35 год))

# Распечатать результат
выбросил $ сумма

Запустите файл с помощью команды bash.

$трепатьcomment_example.sh

Наверх

Использование многострочного комментария:

Вы можете использовать многострочный комментарий в bash по-разному. Простой способ показан в следующем примере. Создайте новый bash с именем, ‘Multiline-comment.sh’ и добавьте следующий скрипт. Здесь, ‘:’ а также ' символы используются для добавления многострочного комментария в сценарии bash. Следующий скрипт вычислит квадрат 5.

#! / bin / bash
:'
Следующий скрипт вычисляет
квадрат числа, 5.
'

((площадьзнак равно5*5))
выбросил $ area

Запустите файл с помощью команды bash.

$трепатьmultiline-comment.sh

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

https://linuxhint.com/bash_comments/

Наверх

Использование цикла while:

Создайте файл bash с именем, ‘While_example.sh’, знать использование в то время как петля. В примере в то время как цикл будет повторяться для 5 раз. Значение считать переменная будет увеличиваться на 1 на каждом этапе. Когда значение считать переменная будет 5, тогда в то время как цикл завершится.

#! / bin / bash
действительныйзнак равноправда
считатьзнак равно1
в то время как [ $ действительный ]
делать
выбросил $ count
если [ $ count -экв 5 ];
тогда
перерыв
быть
((счет ++))
сделано

Запустите файл с помощью команды bash.

$трепатьwhile_example.sh

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

https://linuxhint.com/bash- while-loop-examples/

Наверх

Использование цикла For:

Базовый для Объявление цикла показано в следующем примере. Создайте файл с именем ‘ for_example.sh ’И добавьте следующий скрипт, используя для петля. Здесь, для цикл будет повторяться для 10 раз и вывести все значения переменной, прилавок в одну строку.

#! / bin / bash
для (( прилавокзнак равно10; прилавок>0; прилавок--))
делать
выбросил -n 'счетчик $'
сделано
printf ' п'

Запустите файл с помощью команды bash.

$трепатьfor_example.sh

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

https://linuxhint.com/bash-for-loop-examples/

Наверх

Получить ввод пользователя:

' читать ’Команда используется для получения ввода от пользователя в bash. Создайте файл с именем ‘ user_input.sh ’И добавьте следующий скрипт для ввода данных от пользователя. Здесь одно строковое значение будет взято у пользователя и отобразить значение путем объединения другого строкового значения.

#! / bin / bash
выбросил 'Введите ваше имя'
читатьимя
выбросил 'Добро пожаловать$ nameв LinuxHint '

Запустите файл с помощью команды bash.

$трепатьuser_input.sh

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

https://linuxhint.com/bash-script-user-input/

Наверх

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

Вы можете использовать условие if с одним или несколькими условиями. Начальный и конечный блоки этого оператора определяются как 'если' а также 'быть' . Создайте файл с именем ‘ simple_if.sh ’Со следующим сценарием, чтобы узнать, как использовать если заявление в bash. Здесь, 10 присваивается переменной, п . если стоимость $ n меньше 10, то вывод будет Это однозначное число , иначе вывод будет Это двузначное число . Для сравнения, ‘-Lt’ здесь используется. Для сравнения вы также можете использовать ‘-Eq’ для равенство , '-Родился' для не равенство а также ‘-Gt’ для больше чем в сценарии bash.

#! / bin / bash
пзнак равно10
если [ $ n -lt 10 ];
тогда
выбросил 'Это однозначное число'
еще
выбросил 'Это двузначное число'
быть

Запустите файл с помощью команды bash.

$трепатьsimple_if.sh

Наверх

Использование оператора if с логикой AND:

В операторе if с двумя или более условиями могут использоваться различные типы логических условий. Как вы можете определить несколько условий в инструкции if, используя А ТАКЖЕ логика показана в следующем примере. '&&' используется для применения А ТАКЖЕ логика если утверждение. Создайте файл с именем ‘If_with_AND.sh’ чтобы проверить следующий код. Здесь значение имя пользователя а также пароль переменные будут взяты у пользователя и сравнены с ' админ ' а также ' секрет '. Если оба значения совпадают, вывод будет действительный пользователь , иначе вывод будет недействительный пользователь .

! /являюсь/трепать

выбросил 'Введите имя пользователя'
читатьимя пользователя
выбросил 'Введите пароль'
читатьпароль

если [[ ( $ имя пользователя=='админ' && $ пароль=='секрет' ) ]];тогда
выбросил 'действительный пользователь'
еще
выбросил 'недействительный пользователь'
быть

Запустите файл с помощью команды bash.

$трепатьif_with_AND.sh

Наверх

Использование оператора if с логикой OR:

' || ’Используется для определения ИЛИ логика в если состояние. Создайте файл с именем ‘If_with_OR.sh’ с помощью следующего кода, чтобы проверить использование ИЛИ логика если утверждение. Здесь значение п будут взяты у пользователя. Если значение равно пятнадцать или Четыре пять тогда вывод будет Вы выиграли игру , иначе вывод будет Ты проиграл игру .

#! / bin / bash

выбросил 'Введите любой номер'
читатьп

если [[ ( $ n -экв пятнадцать || $ n -экв Четыре пять ) ]]
тогда
выбросил 'Вы выиграли игру'
еще
выбросил 'Вы проиграли игру'
быть

Запустите файл с помощью команды bash.

$трепатьif_with_OR.sh

Наверх

Использование оператора else if:

Использование иначе если Состояние в bash мало отличается от других языков программирования. ‘ Элиф ’Используется для определения иначе если состояние в bash. Создайте файл с именем ‘ elseif_example.sh ’И добавьте следующий скрипт, чтобы проверить, как иначе если определяется в сценарии bash.

#! / bin / bash

выбросил 'Введите свой счастливый номер'
читатьп

если [ $ n -экв 101 ];
тогда
выбросил 'Вы получили 1-е место'
Элиф [ $ n -экв 510 ];
тогда
выбросил 'Вы получили 2 место'
Элиф [ $ n -экв 999 ];
тогда
выбросил 'Вы получили 3 место'

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

Запустите файл с помощью команды bash.

$трепатьelseif_example.sh

Наверх

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

Случай заявление используется как альтернатива если-еще-если-еще утверждение. Начальный и конечный блоки этого оператора определяются как « кейс ' а также ' esac '. Создайте новый файл с именем ‘ case_example.sh ’И добавьте следующий скрипт. Результат следующего скрипта будет таким же, как и предыдущий. иначе если пример.

#! / bin / bash

выбросил 'Введите свой счастливый номер'
читатьп
кейс $ n в
101)
выбросил выбросил 'Вы получили 1-е место' ;;
510)
выбросил 'Вы получили 2 место' ;;
999)
выбросил 'Вы получили 3 место' ;;
*)
выбросил 'Извините, попробуйте в следующий раз' ;;
esac

Запустите файл с помощью команды bash.

$трепатьcase_example.sh

Наверх

Получить аргументы из командной строки:

Сценарий Bash может считывать ввод из аргумента командной строки, как и другие языки программирования. Например, 1 доллар а также 2 доллара переменные используются для чтения первого и второго аргументов командной строки. Создайте файл с именем command_line.sh и добавьте следующий скрипт. Два значения аргумента считываются следующим сценарием и выводят общее количество аргументов и значения аргументов.

#! / bin / bash
выбросил 'Всего аргументов: $ #'
выбросил '1-й аргумент = $ 1'
выбросил '2-й аргумент = 2 доллара'

Запустите файл с помощью команды bash.

$трепатьcommand_line.sh Linux Подсказка

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

https://linuxhint.com/command_line_arguments_bash_script/

Наверх

Получить аргументы из командной строки с именами:

Как вы можете читать аргументы командной строки с именами, показано в следующем скрипте. Создайте файл с именем ‘ command_line_names.sh ’ и добавьте следующий код. Здесь два аргумента, Икс а также А ТАКЖЕ считываются этим скриптом и выводят сумму X и Y.

#! / bin / bash
длязлойв '[электронная почта защищена]'
делать
показатель= $(выбросил $ arg | резать -f1 -dзнак равно)
часы= $(выбросил $ arg | резать -f2 -dзнак равно)
кейс $ index в
Икс) Иксзнак равно$ часов;;

А ТАКЖЕ) а такжезнак равно$ часов;;

*)
esac
сделано
((результат= х + у))
выбросил 'X + Y =$ результат'

Запустите файл с помощью команды bash и с двумя аргументами командной строки.

$трепатьcommand_line_namesИксзнак равноЧетыре пять А ТАКЖЕзнак равно30

Наверх

Объедините строковые переменные:

Вы можете легко комбинировать строковые переменные в bash. Создайте файл с именем string_combine.sh и добавьте следующий скрипт, чтобы проверить, как вы можете комбинировать строковые переменные в bash, помещая переменные вместе или используя '+' оператор.

#! / bin / bash

строка1знак равно'Linux'
строка2знак равно'Намекать'
выбросил '$ string1$ string2'
строка3знак равно$ string1+$ string2
строка3 + ='хороший блог-сайт с учебниками'
выбросил $ string3

Запустите файл с помощью команды bash.

$трепатьstring_combine.sh

Наверх

Получить подстроку строки:

Как и другие языки программирования, bash не имеет встроенной функции для вырезания значения из любых строковых данных. Но вы можете выполнить задачу подстроки другим способом в bash, который показан в следующем скрипте. Чтобы протестировать скрипт, создайте файл с именем ‘ substring_example.sh ’Со следующим кодом. Здесь значение, 6 указывает начальную точку, с которой будет начинаться подстрока, и 5 указывает длину подстроки.

#! / bin / bash
Ул.знак равно'Изучите Linux из LinuxHint'
subStrзнак равно$ {Str: 6: 5}
выбросил $ subStr

Запустите файл с помощью команды bash.

$трепатьsubstring_example.sh

Наверх

Добавьте два числа:

Вы можете выполнять арифметические операции в bash по-разному. Как вы можете добавить два целых числа в bash, используя двойные скобки, показано в следующем скрипте. Создайте файл с именем ‘ add_numbers.sh ’Со следующим кодом. У пользователя будут взяты два целочисленных значения и выведен результат сложения.

#! / bin / bash
выбросил 'Введите первый номер'
читатьИкс
выбросил 'Введите второй номер'
читатьа также
(( сумма= х + у))
выбросил 'Результат сложения =$ сумма'

Запустите файл с помощью команды bash.

$трепатьadd_numbers.sh

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

https://linuxhint.com/bash_arithmetic_operations/

Наверх

Создать функцию:

Как вы можете создать простую функцию и вызвать ее, показано в следующем скрипте. Создайте файл с именем ‘ function_example.sh ’И добавьте следующий код. Вы можете вызывать любую функцию только по имени, без использования скобок в сценарии bash.

#! / bin / bash
функцияF1()
{
выбросил 'Мне нравится программировать на bash'
}

F1

Запустите файл с помощью команды bash.

$трепатьfunction_example.sh

Наверх

Создать функцию с параметрами:

Bash не может объявить параметр или аргументы функции во время объявления функции. Но вы можете использовать параметры в функции, используя другую переменную. Если во время вызова функции передаются два значения, тогда для чтения значений используются переменные $ 1 и $ 2. Создайте файл с именем ‘ функция | _parameter.sh ’И добавьте следующий код. Здесь функция ‘ Rectangle_Area ’ вычислит площадь прямоугольника на основе значений параметров.

#! / bin / bash

Rectangle_Area() {
площадь= $((1 доллар * 2 доллара))
выбросил 'Площадь:$ area'
}

Rectangle_Area10 двадцать

Запустите файл с помощью команды bash.

$трепатьfunction_parameter.sh

Наверх

Передать возвращаемое значение из функции:

Функция Bash может передавать как числовые, так и строковые значения. Как передать строковое значение из функции показано в следующем примере. Создайте файл с именем ‘ function_return.sh ’И добавьте следующий код. Функция, приветствие() возвращает строковое значение в переменную, часы который печатается позже путем объединения с другой строкой.

#! / bin / bash
функцияприветствие() {

пзнак равно'Привет,$ name'
выбросил $ str

}

выбросил 'Введите ваше имя'
читатьимя

часы= $(приветствие)
выбросил 'Возвращаемое значение функции$ часов'

Запустите файл с помощью команды bash.

$трепатьfunction_return.sh

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

https://linuxhint.com/return-string-bash-functions/

Наверх

Сделать каталог:

Bash использует ‘ mkdir ’Команда для создания нового каталога. Создайте файл с именем ‘ make_directory.sh ’И добавьте следующий код, чтобы получить новое имя каталога от пользователя. Если имя каталога не существует в текущем месте, он создаст каталог, в противном случае программа отобразит ошибку.

#! / bin / bash
выбросил 'Введите имя каталога'
читатьnewdir
``mkdir $ newdir``

Запустите файл с помощью команды bash.

$трепатьmake_directory.sh

Наверх

Сделайте каталог, проверив наличие:

Если вы хотите проверить наличие каталога в текущем месте перед выполнением команды ‘ mkdir ’, Вы можете использовать следующий код. ‘-D Параметр ’используется для проверки того, существует ли конкретный каталог. Создайте файл с именем ‘ directory_exist.sh ’ и добавьте следующий код, чтобы создать каталог, проверив существование.

#! / bin / bash
выбросил 'Введите имя каталога'
читатьndr
если [ -d '$ ndir' ]
тогда
выбросил 'Каталог существует'
еще
``mkdir $ ndir``
выбросил 'Каталог создан'
быть

Запустите файл с помощью команды bash.

$трепатьdirectory_exist.sh

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

https://linuxhint.com/bash_mkdir_not_existent_path/

Наверх

Прочитать файл:

Вы можете читать любой файл построчно в bash, используя цикл. Создайте файл с именем ‘ read_file.sh ’И добавьте следующий код для чтения существующего файла с именем‘ book.txt '.

#! / bin / bash
файлзнак равно'book.txt'
в то время как читатьлиния;делать
выбросил $ линия
сделано < $ файл

Запустите файл с помощью команды bash.

$трепатьread_file.sh

Выполните следующую команду, чтобы проверить исходное содержание ‘ book.txt ' файл.

$Котbook.txt

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

https://linuxhint.com/read_file_line_by_line_bash/

Наверх

Удалить файл:

' rm ’Команда используется в bash для удаления любого файла. Создайте файл с именем ‘ delete_file.sh ’Со следующим кодом, чтобы получить имя файла от пользователя и удалить. Здесь, '-я' опция используется для получения разрешения от пользователя перед удалением файла.

#! / bin / bash
выбросил 'Введите имя файла для удаления'
читатьfn
rm $ fn

Запустите файл с помощью команды bash.

$ls
$трепатьdelete_file.sh
$ls

Наверх

Добавить в файл:

Новые данные могут быть добавлены в любой существующий файл с помощью '>>' оператор в bash. Создайте файл с именем ‘Append_file.sh ’И добавьте следующий код, чтобы добавить новое содержимое в конец файла. Здесь, ' Изучение Laravel 5 ’Будет добавлен в‘ book.txt ’ файл после выполнения скрипта.

#! / bin / bash

выбросил 'Перед добавлением файла'
Котbook.txt

выбросил 'Изучение Laravel 5'>>book.txt
выбросил 'После добавления файла'
Котbook.txt

Запустите файл с помощью команды bash.

$трепатьappend_file.sh

Наверх

Проверьте, существует ли файл:

Вы можете проверить наличие файла в bash, используя '-А также' или ‘-F’ вариант. ‘-F’ Эта опция используется в следующем скрипте для проверки существования файла. Создайте файл с именем ‘ file_exist.sh ’И добавьте следующий код. Здесь имя файла передается из командной строки.

#! / bin / bash
имя файлазнак равно1 доллар
если [ -f '$ filename' ];тогда
выбросил 'Файл существует'
еще
выбросил 'Файл не существует'
быть

Выполните следующие команды, чтобы проверить наличие файла. Здесь, book.txt файл существует и book2.txt не существует в текущем местоположении.

$ls
$трепатьfile_exist.sh book.txt
$трепатьfile_exist.sh book2.txt

Наверх

Отправить электронное письмо:

Вы можете отправить электронное письмо с помощью ‘ Почта ' или ' Отправить письмо Команда. Перед использованием этих команд вы должны установить все необходимые пакеты. Создайте файл с именем ‘ mail_example.sh ’И добавьте следующий код для отправки электронного письма.

#! / bin / bash
Получатель= админ@example.com
Тема= Приветствие
Сообщение= Добро пожаловать на наш сайт
``Почта-s $ Тема $ Получатель <<< $ Сообщение``

Запустите файл с помощью команды bash.

$трепатьmail_example.sh

Наверх

Получить текущую дату синтаксического анализа:

Вы можете получить текущую системную дату и время, используя ` Дата `команда. Каждая часть значения даты и времени может быть проанализирована с помощью ‘ Y »,« m »,« d »,« H »,« M » а также ' S ’ . Создайте новый файл с именем ‘ date_parse.sh ’ и добавьте следующий код для разделения значений дня, месяца, года, часа, минуты и секунды.

#! / bin / bash
Годзнак равно``Дата+%А ТАКЖЕ``
Месяцзнак равно``Дата+%м``
Деньзнак равно``Дата+%d``
Часзнак равно``Дата+%ЧАС``
Минутызнак равно``Дата+%M``
Второйзнак равно``Дата+%S``
выбросил ``Дата``
выбросил Текущая дата:$ День-$ Месяц-$ Год'
выбросил Текущее время:$ Час:$ Минута:$ Секунда'

Запустите файл с помощью команды bash.

$трепатьdate_parse.sh

Наверх

Команда ожидания:

ждать - это встроенная команда Linux, ожидающая завершения любого запущенного процесса. ждать команда используется с определенным идентификатором процесса или идентификатором задания. Если с командой wait не указан идентификатор процесса или идентификатор задания, тогда он будет ждать завершения всех текущих дочерних процессов и возвращает статус выхода. Создайте файл с именем ‘ wait_example.sh ’ и добавьте следующий скрипт.

#! / bin / bash
выбросил 'Подождите команду' &
process_idзнак равно$!
ждать $ process_id
выбросил 'Выход со статусом $?'

Запустите файл с помощью команды bash.

$трепатьwait_example.sh

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

Команда ожидания в Linux

Наверх

Команда сна:

Если вы хотите приостановить выполнение любой команды на определенный период времени, вы можете использовать спать команда. Вы можете установить величину задержки с помощью секунды (s), минуты (m), часы (h) и дни (d). Создайте файл с именем ‘Sleep_example.sh’ и добавьте следующий скрипт. Этот сценарий будет ждать 5 секунд после запуска.

#! / bin / bash

выбросилЖдатьдля 5секунды
спать 5
выбросилЗавершенный

Запустите файл с помощью команды bash.

$трепатьsleep_example.sh

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

https://linuxhint.com/sleep_command_linux/

Наверх

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