我不能有书面的期望循环的变量:期待循环不打印变量
#!/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''} { –