Как я могу продолжать повторять несколько команд, пока все они не будут выполнены?
У меня есть последовательность psql
Команды в .sh
сценарий:
#!/bin/bash
psql -U postgres -1 -f file1.sql
psql -U postgres -1 -f file2.sql
psql -U postgres -1 -f file3.sql
psql -U postgres -1 -f file4.sql
psql -U postgres -1 -f file5.sql
Я хочу продолжать повторять эти psql
Команды в блоке, пока они все не преуспеют. Так что если, например, команда для file4.sql
не удается, мы должны начать с file1.sql
,
Должен ли я сделать такую логику в .sql
файл или в скрипте оболочки?
1 ответ
Решение
while ! (psql -U postgres -f file1.sql
&& psql -U postgres -f file2.sql
&& psql -U postgres -f file3.sql
&& psql -U postgres -f file4.sql
&& psql -U postgres -f file5.sql)
do
echo retrying...
done