Вызов сценария bash внутри другого сценария bash с использованием qsub
Я пытаюсь запустить скрипт bash внутри другого скрипта bash, используя qsub (поскольку мне нужно запустить реальную проблему в кластере).
Вот демонстрация этой проблемы. У меня есть два сценария следующим образом:
Сценарий 1:
#!/bin/bash -f
sh ./script2.sh
Сценарий 2:
#!/bin/bash
echo "It works fine!"
Теперь, если я положу эти два скрипта в папку и использовать команду sh script1.sh
, это будет работать нормально. Но если я использую команду qsub для его запуска qsub script1.sh
это будет через ошибку:
sh:./script2.sh: Нет такого файла или каталога
Как я могу это исправить?
1 ответ
Чтобы определить путь к рабочему каталогу, который будет использоваться для опции job -d. Если он не указан, рабочим каталогом по умолчанию является домашний каталог.
Проверьте ваш рабочий каталог.
#!/bin/bash -f
echo "Working directory is $PWD"
sh ./script2.sh
Ты можешь использовать -d
возможность исправить это.
qsub -d <working directory> script1.sh