小编sas*_*uke的帖子

如何在bash脚本中使用Expect和send命令执行sudo命令?

任何人都可以让我知道如何执行sudo命令expect吗?我尝试了以下操作,但这不起作用。任何人都可以给我建议吗?

set login "sasuke"
set addr "hostname"
set pw "mypasswd"
spawn ssh $login@$addr
expect "$login@$addr\'s password:"
send "$pw\r"
expect "#"
send "output=$(sudo virsh list --all | awk "/running/{print \$2}" | tail -2); sudo virsh dominfo $output"
expect "password:"
send "$pw\r"
expect "#"
Run Code Online (Sandbox Code Playgroud)

当我尝试下面的脚本时,它执行没有错误,但我没有得到输出。这是脚本和执行时的输出。我在这里犯了什么错误?

set login "sasuke"
set addr "hostname"
set pw "mypasswd"
spawn ssh $login@$addr
expect "$login@$addr's password:"
send "$pw\r"
expect "#"
send {output=$(sudo virsh list --all | awk '/running/{print $2}' | tail -2)}
expect { …
Run Code Online (Sandbox Code Playgroud)

bash sudo scripts

10
推荐指数
1
解决办法
7万
查看次数

标签 统计

bash ×1

scripts ×1

sudo ×1