在shell中使用参数的时候出现不是别$1 $2的情况
 #!/usr/bin/expect -f
set host $1
set passwd $2
set name root

#for host in "$1"
#for passwd in "$2"

spawn ssh $host -l $name
expect "root@$host’s password:"
send "$passwd\r"

send"uname\n"
expect"LINUX"
send_user"success"

expect"Permission denied,please try again."
send_user"wrongnumber"

传入的两个参数是目标ip和密码,实现自动ssh的功能,是不是因为用了expect导致了这种情况?
错误如下:
can't read "1": no such variable
while executing
"set host $1"
(file "/home/hht/workspace/work1/ssh1.sh" line 2)

weixin_41539438
肉小盾 #!/usr/bin/expect 使用这个东东的原因使得$1 $2 失效
接近 2 年之前 回复

1个回答

set host [lindex $argv 1]

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问