bash - 评论中的变量扩展

标签 bash preprocessor sungridengine

是否可以在 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/

相关文章:

regex - 使用 grep 查找动态文本

linux - 使用由内部逻辑定义的查找参数从 bash 脚本调用查找

java - 我如何等待 DRMAA 的外部启 Action 业?

bash - 寻找库来连接相对/完整网址。

linux - 如何从 pid 中找到 bash 脚本名称?

iphone - 词法或预处理器问题错误(未找到 UIKit/UIKit.h 文件)

c# - 如何防止方法在 C# .NET 中接受 2 false bool?

javascript - 在 Python 或 JavaScript 中实现 C 预处理器?

linux - qstat 和长作业名称

docker - 将 Docker 用于 HPC 和 Sun Grid Engine