У меня проблема с подстановкой команд, с которой мне нужна помощь. У меня есть несколько процессов, которые создают текстовый файл с командами, которые должны быть выполнены.
File1.txt
Command_ID|Command_Name|Command
112121|Export XML Components|/Scripts/Export_XML.sh "Argument1" "Argument2"
112122|Test XML integrity|/Scripts/Test_XML.sh "Argument1" "Argument2" "Argument3"
Мой сценарий для выполнения этих команд читает File1.txt и пытается выполнить команду в третьем столбце, используя следующую подстановку команд. Цель здесь - прочитать и выполнить команды последовательно и обновить таблицу с их строками возврата и кодами возврата. У меня также есть логика в скрипте, чтобы остановить обработку, если обнаружен ненулевой код возврата, и сохранить текущий номер строки. Таким образом, сценарий может быть перезапущен из строки с ошибкой после устранения проблемы
VAR_File=/files/File1.txt
while IFS=$'|' read -r -a myArray
do
echo "${myArray[2]}"
VAR_Command="${myArray[2]}"
VAR_Return_String=$("${VAR_Command}")
VAR_Return_Code=$?
done < ${VAR_File}
Команды, в которых аргументы имеют двойные кавычки, выполняются некорректно.
Что я делаюнеправильно и как я могу это исправить?
Спасибо