【问题标题】:Encoding Keyboard Command Onto Bash Script将键盘命令编码到 Bash 脚本
【发布时间】:2010-10-12 21:33:58
【问题描述】:

我有以下方式使用 qsub 提交集群作业:

 Submitting jobs from standard input
       To submit a PBS job by typing job specifications at the command line, the user types

              qsub [options] <return>

       then types any directives, then any tasks, followed by

              (in UNIX)     CTRL-D on a line by itself
              (in Windows)  CTRL-Z <return>

       to terminate the input.

有没有一种方法可以在 bash 脚本中对 RETURN 和 CTRL-D 进行编码,以便我们可以执行以下操作:

for i in path/*.txt; do echo "$i";  qsub [RETURN] /path2/mycode $i; [CTRL-D]; done

【问题讨论】:

    标签: linux bash unix keyboard qsub


    【解决方案1】:

    只是为了澄清(因为 corvus 的回答完全正确)- CTRL-D 仅表示“文件结束”或“输入结束”,因此当您将该文本回显到 qsub 时,它会自动发送结束-file 之后的信号(与按 CTRL-D 相同)

    【讨论】:

      【解决方案2】:

      您应该通过管道使用重定向:

      for i in path/*.txt; do
        echo "$i";
        echo "/path2/mycode $i" | qsub;
      done
      

      【讨论】:

        【解决方案3】:

        试试echo /path2/mycode $i | qsub

        如果这不起作用或者您需要传递更复杂的数据,那么expect 可能会有所帮助。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2015-08-01
          • 1970-01-01
          • 1970-01-01
          • 2021-02-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多