Bash 预期未正确设置流浪密码
我正在从一个bash脚本运行一个子expect脚本,该脚本在这里提供了一个vms,但没有得到我的预期结果(ala,password=foo)。这是我正在运行的,帮助apprBash 预期未正确设置流浪密码,bash,expect,Bash,Expect,我正在从一个bash脚本运行一个子expect脚本,该脚本在这里提供了一个vms,但没有得到我的预期结果(ala,password=foo)。这是我正在运行的,帮助appr ## Create generic(s) for Vagrant groupadd admin useradd -G admin vagrant /usr/bin/expect -dc 'expect { eval spawn passwd vagrant set prompt ":|#|\\\$"
## Create generic(s) for Vagrant
groupadd admin
useradd -G admin vagrant
/usr/bin/expect -dc 'expect {
eval spawn passwd vagrant
set prompt ":|#|\\\$" ## use correct prompt
interact -o -nobuffer -re $prompt return ## must be done twice due to week passwd
send "vagrant\r"
interact -o -nobuffer -re $prompt return
send "vagrant\r"
interact
}'
下面是调试的屏幕帽
以
PASSWD=$(expect -c '
log_user 0
proc abort {} {
puts "Error with setting password?"
exit 1
}
spawn passwd vagrant
expect {
password: { send "vagrant\r" }
default abort
}
expect {
password: { send "vagrant\r" }
default abort
eof
}
puts "User Vagrant has had password set..."
')
您的
expect
代码可以使用exp\u continue
进行优化,如下所示
PASSWD=$(expect -c '
log_user 0
proc abort {} {
puts "Error with setting password?"
exit 1
}
spawn passwd vagrant
expect {
password: { send "vagrant\r";exp_continue }
default abort
eof
}
puts "User Vagrant has had password set..."
')