无法弄清楚如何使用expect来获取csh
if语句。
这行代码工作
if(4 > 3) echo "4 is greater than 3."
$ 4 is greater than 3.
这行代码不起作用
if (4 > 3) $myvar = 5
0: Command not found (i.e. myvar = 0)
这也不是
if (4 > 3) then $myvar = 5
IF: Improper then
我做错了什么?我最好在一行或某种程度上需要所有这些来将send
命令转换为expect
脚本。如果我不能在一行上使用\
字符,我会使用吗?
答案 0 :(得分:2)
您似乎将csh语法与Bourne shell语法混淆。
您使用set name = value
分配变量。 $name = value
不起作用(实际上,它也不适用于Bourne shell,它在name=value
}。
多行then
只需要if
。将它留给单行if
。
全部放在一起:
if (4 > 3) set myvar = 5
或:
if (4 > 3) then
set myvar = 5
endif