我试图编写一个Bash脚本来控制Docker Compose中的启动顺序,类似于https://docs.docker.com/compose/startup-order/上给出的示例脚本:
#!/bin/bash
# wait-for-postgres.sh
set -e
host="$1"
shift
cmd="$@"
until psql -h "$host" -U "postgres" -c '\l'; do
>&2 echo "Postgres is unavailable - sleeping"
sleep 1
done
>&2 echo "Postgres is up - executing command"
exec $cmd
我试图了解第一行的目的是什么,set -e
。手册页中的用法为
set ( -e | --erase ) [SCOPE_OPTIONS] VARIABLE_NAME[INDICES]...
没有VARIABLE_NAME
,这个命令有什么作用?我没想到什么?
答案 0 :(得分:2)
不确定你指的是什么。阅读help set
:
-e如果命令以非零状态退出,则立即退出。