如何重复几个命令直到它们都成功为止?

时间:2018-04-10 12:54:50

标签: bash shell psql

我在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文件或shell脚本中执行此类逻辑吗?

1 个答案:

答案 0 :(得分:2)

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