今天写了个脚本expect脚本 本以为很简单一件事 最后因为expect和shell的一些差别导致浪费了不少时间 特此记录下:
两者交互时(expect中使用shell命令)注意[shell脚本太常用了,省略 了shell书写格式]:
两者的变量赋值方式不同 expect中是:
set variableName [lindex $argv 0 ] 将传入给expect脚本的参数列表的第一个参数值赋值给variableName 其中$argv是固定的
如果是非传入参数列表则
(1) 分两行代码
set cmdlineResult [ stty size]
set variableName [lindex $cmdlineResult 0 ] 注意其中cmdlineResult 不能直接是shell命令 而是cmdline的执行结果
(2)当然也可以合二为一
set variableName [lindex [stty size] 0 ] 注意其中cmdline可以直接是shell命令
之前就是因为set variableName [lindex $(stty size) 0 ]各种出错 。