/ / Aufruf eines Bash - Skripts in einem anderen Bash - Skript mit Hilfe von qsub - bash, call, qsub

Aufrufen eines Bash - Skripts in einem anderen Bash - Skript mit Hilfe von qsub - bash, call, qsub

Ich versuche, ein Bash-Skript in einem anderen Bash-Skript mit Hilfe von QSub auszuführen (da ich das eigentliche Problem auf einem Cluster ausführen muss).

Hier ist eine Demonstration dieses Problems. Ich habe zwei Skripte wie folgt:

Skript 1:

#!/bin/bash -f
sh ./script2.sh

Skript 2:

#!/bin/bash
echo "It works fine!"

Nun, wenn ich diese beiden Skripte in einen Ordner lege und den Befehl benutze sh script1.shEs wird gut funktionieren. Aber wenn ich den Befehl qsub verwende, um ihn auszuführen qsub script1.sh Es wird durch einen Fehler:

sh: ./script2.sh: Keine solche Datei oder kein Verzeichnis

Wie kann ich es reparieren?

Antworten:

0 für die Antwort № 1

Definieren des Arbeitsverzeichnispfads, der für die Option -d verwendet werden soll kann verwendet werden. Wenn es nicht angegeben ist, ist das Standardarbeitsverzeichnis das Heimverzeichnis.

Überprüfen Sie Ihr Arbeitsverzeichnis.

#!/bin/bash -f
echo "Working directory is $PWD"
sh ./script2.sh

Sie können verwenden -d Option, um dies zu beheben.

qsub -d <working directory> script1.sh