linux脚本错误重定向,关于linux:Shell脚本 – 在shell脚本多次提示时输入重定向...

我们有一个shell脚本,它希望在提示时输入多个用户输入。例如一开始它可能要求执行操作。当给出这个答案时,它可能会要求输入用户名,然后输入密码等。我们希望通过使用文件重定向提供输入来自动执行此任务,即。脚本

您可以发布脚本的相关部分和输入文件的第一行吗?

有问题的脚本调用它们请求用户输入的内部脚本。我看不到那些内部脚本。但系统会提示如下:"输入要执行的操作"。当用户输入此操作时,将再次提示用户-"输入用户名"。我已经尝试了标准文件重定向,但它不起作用。

我们不知道如何改变我们看不见的东西。显示脚本。

内部脚本可能在读取之前发出fflush(stdin),这将导致出现问题。期望推荐是一个很好的建议。

您可以使用的是程序expect。为它创建一个脚本,告诉它什么时候给它执行的某个命令输入什么。通过这种方式,你可以完全自动化你正在挣扎的事情。

更多关于谷歌和这里的信息:

http://www.linuxjournal.com/article/3065

手册页:http://linux.die.net/man/1/expect

感谢大家的评论和回答。我试过了,但是没用。所以我要提到什么对我们有用。这是我们的工作流程-1。在Linux提示下,键入命令,在我们的例子中是connect()。2。一旦给出了该命令,脚本就会请求该命令的参数,如端口号、服务器等。我们必须手动提供该参数3。然后我们再次看到一个shell提示和另一个输入。在我们的例子中,我们可以使用文件重定向在提示符处提供第一个命令connect(),但是参数传递是一个问题。我们找到的解决方案是只在connect的括号内提供参数,即重定向的输入文件将包含-connect()。这对我们有用。

你说"它只读取输入的第一行"。

所以你必须杀了剧本?

是否有输出?(特别是错误信息)?

是否将stderr重定向到/dev/null或其他位置?如果是这样的话,就去掉它。

这是高概率助手…修改顶级脚本,在第2行添加set -vx。然后,您将能够看到处理的内容、停止的位置,并可能制定有关为什么不处理数据的理论。

有没有可能输入文件是在Windows环境中创建的,而CR-LF对会弄乱预期的输入?

我希望这有帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值