我正在查看一个包含以下shebang行的tcsh脚本:
#!/bin/tcsh -fb
# then executes some commands
-b做什么?
从手册页:
-b从选项处理强制“中断”,导致任何进一步的shell参数 被视为非选项参数。剩下的论点不会是 作为shell选项加入。这可用于将选项传递给shell脚本 - 混乱或可能的诡计。 shell不会运行set-user ID脚本 没有这个选项。
但我真的不明白这是什么意思......
一个例子很棒。
感谢。
答案 0 :(得分:2)
比如说,您有一个名为--help
的脚本,并且您希望使用tcsh
执行它:
tcsh --help
这显然不起作用。 -b
强制tcsh
停止查找参数,并将命令行的其余部分视为脚本的文件名或参数。因此,要运行上面奇怪命名的脚本,您可以执行
tcsh -b --help