为docker entypoint脚本设置-e和exec“$ @”是做什么的?
我注意到docker的许多entrypoint.sh脚本都是这样的:
#!/bin/bash set -e ... code ... exec "$@"
什么是set -e
和exec "$@"
为?
它基本上把所有的额外的命令行参数,并把它们作为一个命令。 目的基本上是“在这个.sh脚本中做所有事情,然后在同一个shell中运行用户通过命令行传递的命令”。
看到:
- 什么是特殊的美元符号shellvariables?
- 需要解释Linux bash内buildexec命令的行为
set -e
– 退出脚本,如果任何命令失败(非零值)
exec "$@"
– 将redirectinputvariables, 在这里看到更多