Вопрос

У меня есть следующий способ отправить работу с кластером, используя 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.

Есть ли способ, которым мы можем кодировать RETURN и CTRL-D в скрипте bash, чтобы мы могли сделать что-то вроде:

for i in path/*.txt; do echo "$i";  qsub [RETURN] /path2/mycode $i; [CTRL-D]; done
Это было полезно?

Решение

Вы должны использовать перенаправление через каналы:

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

Другие советы

Попробуйте echo / path2 / mycode $ i | qsub .

Если это не сработает или вам нужно передать более сложные данные, тогда ожидайте может помочь.

Просто для пояснения (поскольку ответ corvus совершенно верен) - CTRL-D означает просто «конец файла». или «конец ввода», поэтому, когда вы выводите этот текст на qsub, он автоматически отправит сигнал конца файла (что аналогично нажатию клавиши CTRL-D)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top