我有一个期望代码在bash脚本中,类似于这样
env input1=${INPUT1} input2=${INPUT2} expect << "EOS"
set timeout -1
spawn ./another_script.sh
expect {
"Input 1" { send -- "$env(input1)\r";exp_continue }
"Input 2" { send -- "$env(input2)\r";exp_continue }
eof
}
EOS
在执行
another_script.sh
过程中,我需要输入 sudo 密码,但由于还在 expect 中,无法输入。
有什么办法可以让我输入 sudo 密码并使脚本继续运行?
我不想将密码保存在脚本中然后传递给 expect,而是想直接输入密码。
interact
功能的用途。 - Charles Duffyinteract
使用示例。我尝试了类似于这样的代码"password for" { interact -o "\r" return ; exp_continue }
,但是有一个问题是它会显示我正在输入什么,另一个问题是在我按下ENTER键后,没有任何反应,也就是说脚本没有继续工作。 - adamm