gpt4 book ai didi

linux - 为什么 "/usr/bin/env bash -x"只能在命令行中工作?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:36:19 27 4
gpt4 key购买 nike

我正在使用 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

这两种方法有什么区别吗?

最佳答案

简短的回答是,您只能通过“#!”指定解释器的一个参数。机制。那变成了“bash -x”。

通常限制更明显,例如,使用

#!/bin/bash -x -i

将“-x -i”作为参数传递,并得到意想不到的结果。

Sven Mascheck 在 his page 中对此发表评论关于主题:

most systems deliver all arguments as a single string

关于linux - 为什么 "/usr/bin/env bash -x"只能在命令行中工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30344132/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com