【发布时间】:2015-08-01 08:58:01
【问题描述】:
我正在玩docker CentOS 图像,发现在终端中执行“/usr/bin/env bash -x”命令是可以的:
bash-4.1# /usr/bin/env bash -x
bash-4.1# exit
+ exit
exit
但是把这个命令写成脚本执行后,还是不行,提示“No such file or directory”:
bash-4.1# ls -lt a.sh
-rwxr-xr-x. 1 root root 23 May 20 04:27 a.sh
bash-4.1# cat a.sh
#!/usr/bin/env bash -x
bash-4.1# ./a.sh
/usr/bin/env: bash -x: No such file or directory
这两种方法有什么区别吗?
【问题讨论】:
-
不,没有区别,确保文件内容是你认为的(检查
od -c,我怀疑你有一些有趣的字符而不是空格)并且 bash 是在路径中。 -
将
set -x作为脚本的第一行可以避免在hashbang 中传递参数。
标签: linux bash shell docker env