是否可以自动回答前几个或部分问题并手动休息? 我正在连接到每日VPN,它首先提示说"是"或" no",第二个选择一个组,第三个输入用户名。最多三个问题,答案是一样的。第四个提示是物理RSA令牌输入,第五个提示是密码。
当我用前三个问题的输入文件编写脚本时(例如; ./script< inputfile),连接退出如下。
GROUP:[xxxx | abcdgroup01 | sssgroup01 | sssssgroup01z]:请输入您的用户名和密码。 用户名密码: fgets(stdin):设备不适当的ioctl
这是因为脚本没有从输入文件中获得第四个答案。
在五个输入中,四个是静态输入,第四个是动态输入。 如何设法手动输入第四个输入?
请帮忙;提前谢谢!
答案 0 :(得分:1)
我刚发现这种方法,看起来很有效!
{echo yes; echo xxxxx; echo xxxx;读rsa; echo $ rsa; echo xxxx; } | ./script.sh
还有其他方式吗?
答案 1 :(得分:0)
还有其他方法,但对于您的情况,您的方法似乎并不是那么糟糕。
如果您真的希望用户从script.sh查看原始提示,则必须创建 expect 程序来驱动您的脚本;请参阅expect
的手册页。
如果允许更改script.sh,则可以添加从外部提供某些参数的可能性(文件或环境变量),并仅询问那些未提供的参数。这将是IMO最好的方法。