我是Linux(Ubuntu 12.10)的初學者。我想創建一個批處理文件來控制我的TCL文件,並且我希望我的TCL運行多次。如何編寫批處理文件來執行TCL文件
例如,我想該批處理文件做以下事情:
for(i=1;i<100;i++){
sudo ns test.tcl $i
}
我希望我的TCL文件,以接受參數($ I),這樣我可以在TCL文件中使用的參數。
有誰能告訴我該怎麼辦?或給我一個方向?
在此先感謝。
ps。我在我的TCL文件中寫了循環,但失敗了。我的代碼是這樣的:
for(i=1;i<100;i++){
set ns [new Simulator]
....
....(my NS code)
....
$ns run
}
它只運行$ i == 1,所以我想在tcl腳本之外編寫循環。
PS2。嗨,大家好,我很抱歉沒有表達清楚。我確實遵循了TCL語法。我真正的代碼如下:
for {set i 1} {$i < 100} {incr i} {
set ns [new Simulator]
...
...
...
$ns run
}
我重新安排我的代碼下面的解決了這個問題:
set ns [new Simulator]
for {set i 1} {$i < 100} {incr i} {
...
...
...
}
$ns run
現在運行的99倍。我不知道爲什麼,雖然:P
謝謝你們:)反正
問:爲什麼你需要一個單獨的(bash?)腳本?爲什麼不在TCL中完成整個事情(這本身就是一個非常好的腳本語言)? – paulsm4
我試圖在tcl文件中寫入循環,但只運行一次(當$ i == 1時),並且它沒有運行$ i == 2〜99。 – DartKouth
99次問題是一個典型的「fencepost錯誤」;如果你從0進行100次迭代,使用'for {set i 0} {$ i <100} {incr i} ...',如果你從1開始,使用'for {set i 1} {$我<= 100} {incr i} ...'。 **注意不同的比較運算符!** –