GNU/Linux >> Tutoriels Linux >  >> Linux

Erreur "Fin de fichier inattendue" et "Erreur lors de l'importation de la définition de la fonction" lors de l'exécution du shellscript à l'aide de qsub

Vous avez également ce problème dans un script wrapper qui utilise

qsub -shell no -b yes -cwd -V somescript.bash arg1 arg2 etc

si vous l'utilisez pour soumettre un autre script shell bash. Il produit l'ennuyeux

/bin/sh: module: line 1: syntax error: unexpected end of file
/bin/sh: error importing function definition for `BASH_FUNC_module'

(il s'agit de Sun Grid Engine 211.11 exécuté sur CentOS 6.6) Il s'avère que les problèmes sont résolus en plaçant simplement ce qui suit au-dessus du script wrapper (et non du script enveloppé) :

unset module

C'est tout.


Dans /usr/share/Modules/init/bash, commentez la ligne 'export -f module'.

Dans un shell de connexion normal, modules.sh sera appelé à partir de profile.d afin que la commande module soit disponible. Dans un shell sans connexion, comme un script appwrapper, il suffit de sourcer le fichier ci-dessus en premier.

Généralement, dans les scripts d'applications après le sourçage du fichier ci-dessus, ils donnent à nouveau la commande "module load apps/vendor/app", ce qui signifie un sourçage supplémentaire.

Référence ::- http://gridengine.org/pipermail/users/2011-November/002019.html


Pour une raison inconnue de moi, l'ajout de points-virgules à la fin de chaque ligne a résolu le problème.


Linux
  1. Exécution du script avec ". » Et avec « source » ?

  2. Script Shell avec fonction et paramètre comme variables ?

  3. wget vs curl :comment télécharger des fichiers à l'aide de wget et curl

  4. Erreur tar :EOF inattendu dans l'archive

  5. rechercher et copier un fichier à l'aide de Bash

Collaborer sur un fichier en utilisant Linux diff et patch

Obtenez podman opérationnel sur Windows en utilisant Linux

Comment enregistrer et rejouer des sessions de terminal Linux à l'aide des commandes "script" et "scriptreplay"

Utilisation du script Apache2Buddy pour les performances et la stabilité

Utilisation de rz et sz sous linux shell

Capture de STDERR et STDOUT dans un fichier à l'aide de tee