2014-10-29 75 views
0

我試圖持續循環2個命令,使我的Cisco 891-F上的LED閃爍。TCL執行命令循環幫助(Cisco路由器)

這是我到目前爲止。我不熟悉使用foreach循環。可能有另一種方法來做到這一點,但我不知道。任何幫助將是偉大的!

if {[catch {ios_config "service internal"} result]} { 
puts "Invalid Command 1" 
} 

set a "test led system black" 
set b "test led system green-solid" 

foreach {a b} [list $a $b] { 
exec $a 
exec $b 
} 

回答

0

沒關係谷歌最終救了我:)

if {[catch {ios_config "service internal"} result]} { 
    puts "Invalid Command 1" 
} 

set a ["test led system black"] 
set b ["test led system green-solid"] 

for {set x 0} {$x<20} {incr x} { 
    exec $a 
    exec $b 
} 
+0

你可以使用'foreach x {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20}''。 – GrAnd 2014-10-29 19:28:21

0

我希望方括號在你的答案被使用,你是一個錯字。

set a ["test led system black"] 
set b ["test led system green-solid"] 

它不是定義變量的正確道路。除非你有一個名爲test led system black的proc,否則Tcl會拋出錯誤。

用方括號定義它們就像你的問題一樣好。

set a "test led system black" 
set b "test led system green-solid" 

或者你可以使用大括號。

set a {test led system black} 
set b {test led system green-solid} 

請記住,用大括號括起來將防止任何排序變量替換。

除此之外,你已經給了循環變量很好。