LINUX.ORG.RU

[bash] как добавить произвольный код в исполняемый сценарий

 


0

0

Есть скрипт вида:

#!/bin/bash

# Основная конструкция. В ней что-то происходит и это что-то позволяет жить скрипту очень долго.
while : ; do
    if [ $(date +%s) -gt 1250000000 ]; then
        exit;
    fi
done &

# Конструкция для передачи кусков кода к исполнению в запущенный скрипт.
while : ; do
    if [ -e file ]; then
        arg="$(cat file)";
        rm file;
        if [ "$arg" ]; then
            $arg;
        fi
    fi
done &

wait;

Есть ли какой-то более разумный метод передавать аргументы в запущенный скрипт?

★★★★★

Ответ на: комментарий от Elverion

Да в общем-то на практике всё не так страшно. Вопрос в другом: как иначе неинтерактивно передать запущенному скрипту какие-то аргументы?

KblCb ★★★★★
() автор топика
Ответ на: комментарий от anonymous2

Полезное замечание. Но меня в целом волновало нельзя ли передавать новые аргументы в скрипт как-то иначе? Просто бесконечный цикл, файл с аргументами и прочее выглядит как-то не очень красиво.

KblCb ★★★★★
() автор топика
Ответ на: комментарий от KblCb

Можно ещё создать fifo для передачи аргументов и в скрипте читать из него.

Но ИМХО конфиг-файл лучше. А чтобы скрипт не жрал процессор на постоянном подёргивании конфига - можно с помощью trap повешать перечитывание конфига на какой-нибудь сигнал (напр. USR1). Для прередачи новых данных нужно будет обновить содержимое файла и передать процессу шелла со скриптом соответствующий сигнал. А чтобы не делать это руками - автоматизировать ещё одним вспомогательным скриптом =).

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.