1
我正在编写脚本来将用户从根改为poletst
(另一个用户)。当我改变用户服务器问我在三个领域,我必须通过按1,2或3shell脚本来改变用户,指定一些输入,但然后与shell进行交互
我正在写一个shell脚本来自动执行某个步骤,并且有一个涉及更改用户和选择区域1的步骤默认。
su - poletst
1
它不工作。它把我带到用户,但不改变面积。如何执行此操作?
我正在编写脚本来将用户从根改为poletst
(另一个用户)。当我改变用户服务器问我在三个领域,我必须通过按1,2或3shell脚本来改变用户,指定一些输入,但然后与shell进行交互
我正在写一个shell脚本来自动执行某个步骤,并且有一个涉及更改用户和选择区域1的步骤默认。
su - poletst
1
它不工作。它把我带到用户,但不改变面积。如何执行此操作?
你可以这样做:
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
。
那个提示是什么样的? – mnagel
提示给我三种选择 1)测试 2)测试1 3)测试2 它可以通过控制1 2或3 – user2644549