У меня есть PHP-скрипт, который запускается через CLI. В свою очередь, я хочу, чтобы этот сценарий вызывал сценарий bash, но желательно, чтобы я хотел разбить запросы BASH, чтобы я мог видеть действие так, как оно происходит.
Кажется, я могу установить переменные среды, и они, похоже, существуют между функциями shell_exec (). Но даже если у меня есть исходный файл:
источник ./bashes/functions.sh
И в исходном файле я использую «export -f имя-функции» для экспорта функций в скрипте перед выполнением следующей строки, а следующая строка не видит функции.
$file = file('./bashes/bash_testing.sh',FILE_SKIP_EMPTY_LINES); //we want to watch this in realtime so write each line seperately to shell. foreach($file as $command) { $output->writeln(shell_exec($command)); }
Функция $ output-> writeln является вспомогательной функцией только для эхо-результата. Но в основном ошибка, которую я получаю,
sh: now: command not found
теперь определяется как функция в включенном скрипте bash_testing.sh.
Кто-нибудь знает, как я могу решить эту проблему?
Вот источник файла ./bashes/functions.sh:
function now { date -u +%T } export -fx now