dash -c
与 bash -c
的行为不同:
docker run -it ubuntu /bin/dash -c ps
PID TTY TIME CMD
1 ? 00:00:00 sh
7 ? 00:00:00 ps
docker run -it ubuntu /bin/bash -c ps
PID TTY TIME CMD
1 ? 00:00:00 ps
对这种差异有解释吗?
最佳答案
bash 有一个优化,其中脚本中的最后一个命令隐式地用 exec
执行。 dash 最近也获得了这种优化,但还没有在您使用的版本中。您将看到 bash -c 'exec ps'
和 dash -c 'exec ps'
的相同行为。
关于bash - "bash -c"与 "dash -c",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39434493/