Tengo un script de shell foo.sh
que es un trabajo qsub con contenido:Argumento que pasa en los scripts .sh
#!/bin/bash -l
#$ -S /bin/bash
#$ -N $2
echo $1
me gustaría pasar dos argumentos. Si llamo a qsub foo.sh a b, el primer argumento se procesa correctamente y se repite en la línea de comando como 'a'. Sin embargo, no sé cómo pasar un argumento en el segundo caso comenzando con '# $ -N'. En este caso, $ 2 no se evalúa como 'b', sino que se establece '$ 2'. La ayuda sería muy apreciada.
Creo que debes explicar a qué te refieres con '# $ -N $ 2'. Si su guión es un guión de shell bourne, entonces este es un comentario (comienza con '#'), pero usted parece querer decirlo como algo más. – Celada
Ya traté de explicarlo, ver comentarios a Saptamus Prime. Esta opción se utiliza para establecer el nombre del trabajo en un entorno de clúster, p. ver: http://www.clusterresources.com/torquedocs/commands/qsub.shtml. Es verdad, normalmente # se usa para comentarios. Pero no cuando se usa cuando se utiliza en la sintaxis # $ -Argument Value. Gracias. – user1137731
Si la pregunta se refiere a la metasyntax del shell específica de qsub, deberías haber mencionado eso en la pregunta. De todos modos, el enlace que enviaste habla sobre una directiva '# PBS' pero no menciona' # $ 'en absoluto, así que todavía no sé lo que eso significa. En cualquier caso, parece que esas instrucciones 'qsub' son interpretadas por' qsub' en sí ** antes ** de que el script se ejecute, por lo que tendría sentido que los argumentos que se pasan al script una vez que se ejecutan no ingresen en el procesamiento de tales directivas. Creo que se supone que debes proporcionar una cadena estática para el nombre del trabajo. – Celada