Поиск по сайту:
Глупцы игнорируют сложность. Прагматики терпят ее. Некоторые моугт избегать ее. Гении ее устраняют. (Алан.Дж.Перлис)

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

23.07.2024
Скрипт 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"

 

Читать  Шаблон соответствия в заявлении case в Bash

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

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

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

#!/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: $

 

Завершение

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:


0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Рекомендуемое
В мире, где время становится самым ценным активом, а отвлечения…

Спасибо!

Теперь редакторы в курсе.