2012-04-18 82 views
0

我在看具有以下家當線tcsh的腳本:csh中的-b參數有什麼作用?

#!/bin/tcsh -fb 

# then executes some commands 

什麼是-b嗎?

從手冊頁:

-b勢力「從選項處理」破',導致任何增進shell參數 被視爲非選項參數。其餘參數不會被作爲shell選項預先設置。這可以用來將選項傳遞給shell腳本,但不會出現混淆或可能的欺騙行爲。如果沒有這個選項,shell將不會運行設置用戶ID腳本 。

但我真的不明白這是什麼意思?

一個例子將是巨大的。

謝謝。

回答

2

說,例如,你有一個名爲--help腳本,並要使用tcsh執行它:

tcsh --help 

這顯然是不行的。 -b強制tcsh停止查找參數並將其餘命令行視爲文件名或腳本參數。所以,要運行上面奇怪的命名腳本,你可以做

tcsh -b --help 
+0

這樣做更有意義,謝謝! – andrewrjones 2012-04-20 13:54:48

+0

實際上,在這個答案中使用的情境中,shebang行不會發揮作用。 ---如果你的命名腳本是可執行的,並且只需用「--help」調用,那麼shebang選項就會起作用並使其工作。 (我真的很驚訝,它確實..)。 – agentp 2012-09-19 18:29:16

相關問題