J'ai un script que j'essaie de soumettre à un cluster SGE (sur Redhat Linux). La première partie du script définit le dossier en cours du chemin CWD complet, en tant que variable à utiliser en aval:SGE Cluster - le script échoue après la soumission - fonctionne dans le terminal
#!/usr/bin/bash
#
#$ -cwd
#$ -A username
#$ -M [email protected]
#$ -j y
#$ -m aes
#$ -N test
#$ -o test.log.txt
echo 'This is a test.'
result="${PWD##*/}"
echo $result
En bash, cela fonctionne comme prévu:
CWD:
-bash-4.1$ pwd
/home/user/test
Run script:
-bash-4.1$ bash test.sh
This is a test.
test
Quand je soumets la tâche au cluster:
-bash-4.1$ qsub -V test.sh
et examinez le fichier journal:
This is a test.
Missing }.
Est-ce que quelqu'un sait pourquoi la soumission du travail dit « Missing} » quand il fonctionne directement à partir de la commande en ligne? Je ne suis pas sûr de ce qui me manque ici.
Merci.
Je ne peux pas le reproduire. Ce que je recommanderais d'essayer est d'exécuter la commande 'qrsh' pour se connecter à un noeud via SGE. Ensuite, lancez votre script à partir de là. Cela ne fait pas exactement la même chose mais je peux vous aider à trouver le problème. –