我有这个:
set -e
(
(
docker stop html2pdf
docker rm html2pdf
) || { echo; }
) &我只是尝试在后台运行这些命令,如果其中一个失败了,就忽略它们。
但是我得到了这个错误:
/home/oleg/codes/cm/html-to-pdf/scripts/run.sh: line 13: syntax error near unexpected token `||'发布于 2020-04-17 00:31:07
我猜脚本中包含了set -e,因为这是继承环境的一部分。
一个简单的方法就是在孩子身上忽略这一点:
( set +e ; docker stop html2pdf ; docker rm html2pdf ) &现在,在(...)代码的范围内,set -e不会生效,这两个命令都会执行。
以下任何命令都会因为任务的回退而自动执行(即使docker命令失败)。
例如:
$ cat x
#!/bin/bash
set -e
( set +e ; docker stop html2pdf ; docker rm html2pdf ) &
echo hello
$ ./x
hello
$ Error response from daemon: No such container: html2pdf
Error: No such container: html2pdf我们可以看到docker命令运行和echo命令运行。
https://unix.stackexchange.com/questions/580571
复制相似问题