无法使 if 语句起作用
Cannot get if statement to work
无法弄清楚如何让 csh
if 语句使用 expect 工作。
这行代码有效
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
我做错了什么?我最好需要将所有这些都放在一行中,或者以某种方式将其放入 expect
脚本的 send
命令中。如果我不能在一行中得到它,我是否使用 \
个字符?
您似乎混淆了 csh 语法和 Bourne shell 语法。
您使用 set name = value
分配变量。 $name = value
不起作用(实际上,这在 Bourne shell 中也不起作用,它是 name=value
)。
对于多行 if
,您只需要 then
。将其保留为单行 if
s.
综合起来:
if (4 > 3) set myvar = 5
或:
if (4 > 3) then
set myvar = 5
endif
无法弄清楚如何让 csh
if 语句使用 expect 工作。
这行代码有效
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
我做错了什么?我最好需要将所有这些都放在一行中,或者以某种方式将其放入 expect
脚本的 send
命令中。如果我不能在一行中得到它,我是否使用 \
个字符?
您似乎混淆了 csh 语法和 Bourne shell 语法。
您使用 set name = value
分配变量。 $name = value
不起作用(实际上,这在 Bourne shell 中也不起作用,它是 name=value
)。
对于多行 if
,您只需要 then
。将其保留为单行 if
s.
综合起来:
if (4 > 3) set myvar = 5
或:
if (4 > 3) then
set myvar = 5
endif