是否可以在 bash 脚本中扩展注释中的变量?
我想写一个脚本来输入 SGE . qsub
语法允许我使用 bash 脚本中以 #$
开头的行将附加参数传递给网格引擎。例如,
#$ -q all.q
#$ -S /bin/bash
#$ -V
#$ -m beas
#$ -o run_20120103.out
我想要的是 -o
参数被动态设置为一个变量,比如 $1
。所以我会天真地写
#$ -o run_${1}.out
但是,由于该行以 #
开头,bash 会忽略它并且不会扩展变量 $1
。
有什么想法吗?一些 bash 预处理器?其他方式?
编辑 我只是选择$1
作为示例。它也可以是 $FOO
或 $BAR
。
最佳答案
变量扩展发生在 shell 内存中,它不会影响文件。因此,bash 扩展什么并不重要。
相反,您可以生成要即时运行的脚本,所有内容都已展开:
cat << EOF | qsub [options] -
#$ -o run_$1.out
cmds
EOF
关于bash - 评论中的变量扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14712863/