如何使用命令行參數的角度括號?如何在命令行參數中使用尖括號?
假設輸入是:filename -w <input.txt>
這裏input.txt
是第二命令行參數,並且它是一個輸入文件到一個程序這裏input.txt中必須由尖括號(<input.txt>
)括起來。但是,如果我使用尖括號我得到錯誤。錯誤是:
sh: -c: line 0: syntax error near unexpected token `newline'
sh: -c: line 0: `demo -w '
如何使用命令行參數的角度括號?如何在命令行參數中使用尖括號?
假設輸入是:filename -w <input.txt>
這裏input.txt
是第二命令行參數,並且它是一個輸入文件到一個程序這裏input.txt中必須由尖括號(<input.txt>
)括起來。但是,如果我使用尖括號我得到錯誤。錯誤是:
sh: -c: line 0: syntax error near unexpected token `newline'
sh: -c: line 0: `demo -w '
你的問題不是很清楚。但是,在我看來,這是一個shell問題,而不是一個Tcl問題。
我想你的filename
是一個Tcl可執行腳本的名稱,你想給它input.txt
作爲參數。
但尖括號有特殊含義的外殼。 sh
解釋<
作爲標準輸入重新定向,所以它讀出的input.txt
的內容和通過標準輸入信道將其傳送到filename
。
然後,sh
解釋>
作爲標準輸出重定向,但之後就沒有名字輸出重定向到,所以它給你看到錯誤,因爲>
後您按下Return
關鍵。
所以,你確定你的腳本需要用尖括號括起的名?如果是這樣,逃生支架,像
filename -w \<input.txt\>
否則,嘗試完全刪除括號並使用
filename -w input.txt
我希望這有助於。
旁註:TCL的'exec' _cannot_直接喂''
我不知道我理解你正在試圖做的正是......難道你也許細說什麼?另外,你得到的錯誤是什麼? – Jerry