ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)
Понедельник, 31 марта, 2025
Сегодня у нас 1 праздник:
Международный День Резервного Копирования (World Backup Day). Пользователи сайта социальных новостей reddit предложили сделать дату 31.03 Международным днём резервного копирования, аргументируя это тем, что никогда заранее нельзя узнать, какие сюрпризы преподнесёт 1.04

Скрипт Bash Включает другой скрипт Bash

Скрипт Bash Включает другой скрипт Bash

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

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

 

Исходная команда

Исходник — это одна из наиболее распространенных команд для включения скрипта bash в другой. Например, если вы хотите добавить “info.sh ” script into “main.sh ”, поэтому все, что вам нужно сделать, это добавить следующую строку в скрипт “main.sh ”:

source info.sh

 

/bin/bash
source info.sh
echo "You Need to AUTHORIZE"

В скрипте info.sh содержится следующая информация:

#1/bin/bash
echo "Hello SUSER"
echo "Welcome"

 

Как только вы запустите скрипт main.sh, он сначала выполнит команду info.sh, а затем другие команды:

andreyex@andreyex: $ ./main.sh
Hello andreyex 
Welcome You Need to AUTHORIZE

 

Точка (.) или косая черта

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

#!/bin/bash
.info.sh
echo "You Need to AUTHORIZE"

 

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

#!/bin/bash
./info.sh
echo "You Need to AUTHORIZE"

 

Как включить несколько скриптов в один скрипт

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

Для высокой нагрузки:

#!/bin/bash
echo "Обнаружена высокая загрузка процессора."
echo "Уничтожение несущественных процессов ..."
pkill -9 -f firefox
echo "Завершены несущественные процессы."

 

Для средней нагрузки:

#!/bin/bash
echo "Регистрация текущих состояний процесса ..."
echo "Умеренная загрузка процессора..."
ps -aux > /tmp/current_processes.txt
echo "Журнал процесса был создан по адресу /tmp/current_processes.txt."

 

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

#!/bin/bash
cpu_load=$(uptime | awk -F '[a-z]:' '{ print $2}' | cut -d, -f2 | xargs)
if (( $(echo "$cpu_load > 2.0" | bc -l) )); then
echo "Запуск сценария с высокой нагрузкой."
source scripts/high_load.sh
else (( $(echo "$cpu_load > 1.0" | bc -l) );
echo "Запуск скрипта с умеренной нагрузкой."
source scripts/moderate_load.sh
fi
andreyex@andreyex: $ ./monitoring.sh Trigger medium load script
medium CPU LOAD
Регистрация текущих состояний процесса…
Журнал процесса был создан по адресу /tmp/current-process.txt andreyex@andreyex: $

 

Завершение

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

Exit mobile version