我正在编写脚本以将用户从root更改为poletst
(另一个用户)。当我更改用户服务器时,请在我必须通过按1,2或3
我正在编写一个shell脚本来自动执行某个步骤,并且有一个步骤涉及更改用户并默认选择区域1.
su - poletst
1
它不起作用。它带我到用户但不改变区域。如何执行此操作?
答案 0 :(得分:2)
你可以这样做:
expect -c 'spawn su - poletst; send "1\r"; interact'
如果它不起作用,请尝试:
expect -c 'spawn su - poletst; expect "prompt"; send "1\r"; interact'
当您被要求提供该区域时,只需将prompt
替换为显示给您的邮件最后一行中的一个字符串。
您也可以将其作为脚本放置
#!/usr/bin/env expect -f
spawn su - poletst
expect "prompt"
send "1\r"
interact
将其保存到su-poletst.exp
等文件中,然后运行expect -f su-poletst.exp
。