Nan*_*iao 2 linux bash shell env docker
我正在玩图像docker CentOS,发现/usr/bin/env bash -x在终端中执行“”命令是可以的:
bash-4.1# /usr/bin/env bash -x
bash-4.1# exit
+ exit
exit
Run Code Online (Sandbox Code Playgroud)
但是把这个命令写成脚本执行后却不起作用,提示“ 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
Run Code Online (Sandbox Code Playgroud)
两种方法有什么区别吗?
简而言之,您只能获得一个参数给解释器,该参数是通过“#!”指定的。机制。这变成了“bash -x”。
通常限制更明显,例如,使用
#!/bin/bash -x -i
Run Code Online (Sandbox Code Playgroud)
会传递“-x -i”作为参数,并得到意想不到的结果。
Sven Mascheck 在他的主题页面中对此发表了评论:
大多数系统将所有参数作为单个字符串传递
| 归档时间: |
|
| 查看次数: |
2622 次 |
| 最近记录: |