【发布时间】:2019-05-20 10:07:35
【问题描述】:
在没有任何环境变量的情况下使用 qsub 提交时,有没有办法在终端上打印脚本的使用情况?
例如,我有一个脚本“script.sh”,它应该包含 4 个变量“var1、var2、var3 和 var4”。所以脚本应该提交为qsub -v var1=a,var2=b... script.sh。如果用户尝试在没有任何变量的情况下提交作业,我想打印 var1、var2.. 等所指的内容。
我知道我可以在脚本中设置检查点并将其打印到文件中,但我想在尝试提交脚本时在终端本身打印使用情况。
如果我不清楚,请告诉我。
谢谢
【问题讨论】:
-
要么你
qsub(脚本?)必须验证它的输入,或者你需要创建一个shell脚本包装器来为你完成这项工作。我使用类似case $# in 4) qsub $1 $2 $3 $4 ;; * ) echo "usage msg" >&2 ; exit 1 ;; esac的东西。当然,chmod +x myWrapperScript.sh,在执行它之前。祝你好运。 -
感谢您的想法。包装脚本有意义,然后我可以创建一个别名,例如
alias qsub="bash ~/myWrapperScript.sh"。会试一试。 :) -
我个人更喜欢脚本文件顶部的“she-bang”行,
#!/bin/bash(或根据需要更改以调用正确的 shell)。然后您可以在别名中删除对bash的引用。否则你走在正确的轨道上。祝你好运。 -
所以我实际上做的是,在 she-bang 行之后,我检查了主机名以查看它是从头节点运行的。然后打印 qsub 脚本的用法,我先用 bash 运行它。