我看到一个客户端正在执行$bash -x命令,以查看该文件是否可执行(或ksh -x命令等),就像shell脚本-x中的if语句一样.
我的问题是:什么是$bash -x命令吗?
我的解释是在当前shell中的新bash shell中启动一个命令,继承相同的环境变量并由同一个用户执行.
有趣的是我可以做$ls但不是$bash -x ls,这给了:
(在AIX 6下)
/usr/bin/ls: /usr/bin/ls: cannot execute binary file
对我来说,错误的原因是一个谜 - 猜测它是由于一个特权,这意味着我的上述假设是不正确的.
另外,我相信$bash ls并且$bash -x ls是一回事(-x对于"执行")?
任何评论都非常感谢.
干杯!
use*_*882 46
该-x选项在调试模式下启动BASH shell.您可以查看有关如何处理命令/脚本的所有详细信息.如果你的脚本不能达到预期的效果,那么找到一些bug就是一个很好的方法
就像亚历克斯在上面的评论中所说的那样.要在BASH中运行命令,您必须使用-c类似的选项bash -x -c ls.
看到man bash或在线手册,特别在部件上调用击和所述set内置命令的详细资料:
set内置函数使用的所有单字符选项(请参阅Set Builtin)可以在调用shell时用作选项.-x在展开之后和执行之前,打印一些简单的命令,
for命令,case命令,select命令和算术for命令及其参数或关联的单词列表.PS4扩展变量的值,并在命令及其扩展参数之前打印结果值.