expect的命令行参数参考了c语言的,与bash shell有点不一样。其中,$argc为命令行参数的个数,$argv0为脚本名字本身,$argv为命令行参数。[lrange $argv 0 0]表示第1个参数(或者[lindex $argv 0]),[lrange $argv 0 4]为第一个到第五个参数。与c语言不一样的地方在于,$argv不包含脚本名字本身。
注意:$argv0和[lrange $argv 0 0]是不一样的。argv0是一个默认的变量名,而[lrang $argv 0 0]得到的是表argv的0个元素。
bash shell里面的参数
$0
Shell本身的文件名
$1~$n
添加到Shell的各参数值。$1是第1参数、$2是第2参数…。