我不能有書面的期望循環的變量:期待循環不打印變量
#!/bin/bash
expect -c "
set var1 10
puts {$var1}
puts $expect_out({$var1})
foreach name { bob jim jacobo henric } {
puts {hello $name $var1}
}"
我的輸出是:
# ./test
({})
hello
hello
hello
hello
所以基本上它沒有展開任何變量。 有什麼想法?
您正在進入一個文件中混合不同的編程語言的「引用地獄」。您希望暫時取消期望代碼的單引號,讓shell展開變量,然後用單引號恢復期望代碼:'foreach name {'「$ names''} { –