Y a-t-il un moyen de passer directement des paramètres à un script .pbs avant de soumettre un emploi? J'ai besoin de boucler sur une liste de fichiers indiqués par différents numéros et d'appliquer un script pour analyser chaque fichier.
Le meilleur que j'ai pu proposer est ce qui suit: p> où passe_test.pbs est le script suivant: p> mais cela ressent un peu wonky. En particulier, je veux éviter de devoir créer une variable d'environnement pour gérer cela. P> P>
3 Réponses :
Le Personnellement, j'utiliserais une version plus compacte: p> utilitaire qsub code> peut lire le script à partir de l'entrée standard, alors en utilisant un document ici, vous pouvez créer des scripts sur la mouche, dynamiquement em>:
Si vous avez juste besoin de passer des numéros et d'exécuter une liste d'emplois avec la même commande, à l'exception du numéro de fichier d'entrée, il est préférable d'utiliser un tableau de travail au lieu d'une boucle à mesure que la matrice d'emploi aurait moins de fardeau sur le planificateur de travail.
Pour exécuter, vous spécifiez le numéro de fichier avec pbs_arrayid comme celui-ci dans le fichier PBS: p> et pour l'appeler, sur la ligne de commande, Type: P> où vous pouvez spécifier quel ID de tableau à utiliser après -t code> option p> p> p>
Vous pouvez utiliser l'option -f p>
Spécifie les arguments qui seront transmis au script de travail lorsque le script est lancé. La syntaxe acceptée est: p>
-f code>, comme décrit ici :
qsub -F "myarg1 myarg2 myarg3=myarg3value" myscript2.sh