我有一堆通过 ssh 运行的 bash 命令:
#!/bin/bash
CMD="
set -e
cmd1
cmd2
# ........
service my_service stop
# .........
# some commands here......
# .........
service my_service start
"
ssh -t -A -q -C $SERVER@$HOST "$CMD"
有时,只要my_service
碰巧已经处于停止状态,该命令service my_service stop
就会返回:
--rpc-eval : RPC failed with reason :nodedown # it's an Erlang app, hence a response
./my_script.sh: línea 26: error: orden no encontrada
由于上述命令被视为失败,由于某种原因,它将终止执行,退出会话,因此不会到达命令service my_service start
。
但是我希望它始终同时运行stop
andstart
和介于两者之间的命令,当然,无论命令之前的应用程序状态如何service stop
,并且不会失败,或者尽管在“服务停止”之后可能出现故障,但仍继续运行
怎么做?