2009-03-12 8 views
1

У меня есть следующий способ представить работу с кластером с помощью qsub:Кодирование команд с клавиатуры Onto Bash Script

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 в Баш скрипт, так что мы можем сделать что-то вроде:

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

ответ

4

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

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

Пробег: echo /path2/mycode $i | qsub.

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

1

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