У меня есть файл text.txt
который содержит две строки."Разрешенные" операции в bash read while loop
first line
second line
Я пытаюсь Переберите в Баш, используя следующий цикл:
while read -r LINE || [[ -n "$LINE" ]]; do
# sed -i 'some command' somefile
echo "echo something"
echo "$LINE"
sh call_other_script.sh
if ! sh some_complex_script.sh ; then
echo "operation failed"
fi
done <file.txt
При вызове some_complex_script.sh
только первая строка обрабатывается, однако, комментируя это все две строки обрабатываются. some_complex_script.sh
делает все такие вещи, как запуск процессов, SQLPLUS, начиная WildFly т.д.
./bin/call_some_script.sh | tee $SOME_LOGFILE &
wait
...
sqlplus $ORACLE_USER/[email protected]$DB<<EOF
whenever sqlerror exit 1;
whenever oserror exit 2;
INSERT INTO TABLE ....
COMMIT;
quit;
EOF
...
nohup $SERVER_DIR/bin/standalone.sh -c $WILDFLY_PROFILE -u 230.0.0.4 >/dev/null 2>&1 &
Мой вопрос если есть некоторые операции, которые не должны называться в some_complex_script.sh
и в петля (это может занять 10 минут, это хорошая идея вообще), которая может нарушить эту петлю. Сценарий вызывается с использованием Jenkins и Publish over SSH Plugin. Когда some_complex_script.sh
вызывается сам по себе, проблем нет.