Я запускаю скрипт «example.sh», который принимает 5 аргументов командной строки.
Это отлично работает:
./example.sh arg1 arg2 arg3 arg4 arg5
и он возвращает файл result1.txt
Теперь, когда я пытаюсь запустить его в кластере SGE (с "./" или без него):
qsub ./example.sh arg1 arg2 arg3 arg4 arg5
Это не приводит ни к какому результату.
В файле example.sh.eXXXXXXX я получаю:
arg1=1: Command not found.
arg2=2: Command not found.
...
and so on.
Я не уверен, почему это не работает с командой qsub. Я также вставил
#!/usr/bin/env bash
в верхней части моего сценария. Я некоторое время настраивал вещи, пробовал разные вещи, которые я нашел в stackoverflow и в Интернете, но пока безуспешно (я пробовал флаги -S и -F). Любые предложения приветствуются, чтобы указать мне в правильном направлении.
bash
? (Я видел много примеровcsh
. Синтаксисcsh
немного отличается от синтаксисаbash
.) 2. Я не смог найти ни одного примера с дополнительными аргументами командной строки, что вызывает у меня подозрения. Запись manqsub [ options ] [ command | -- [ command_args ]]
выглядит так, будто это не поддерживается. Решение простое: оберните вызов скрипта с аргументами в новый скрипт. (То, что я предлагаю здесь, я узнал за последние полчаса. Если вы получите серьезный ответ, я удалю этот комментарий.) - person Scheff's Cat   schedule 27.03.2017