Вызов сценария 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    
Другие вопросы по тегам