You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Bash中如何将动态Slurm提交脚本转为静态固定参数脚本

解决方案

完全可以在现有别名内完成静态脚本的生成,仅需在复制通用脚本后新增一步文本替换逻辑即可,无需额外工具。

修改思路

  • 保留原有获取job_ID、复制通用脚本的逻辑
  • 复制完成后用sed命令对新脚本做全局替换,把动态变量替换为实际输入的job_ID值
  • 移除提交脚本时的传参步骤,静态脚本无需额外传参

修改后的完整别名代码

alias submitjob='echo "What is the job_ID?"; read job_ID; \
cp /home/Shubham/generic_slurm_script.sh ./submission_script_$job_ID.sh; \
sed -i "s#job_ID=\$1#job_ID=$job_ID#g;s#\${job_ID}#$job_ID#g" ./submission_script_$job_ID.sh; \
echo "Status: Static submission script for $job_ID is created."; \
sbatch submission_script_${job_ID}.sh; \
echo "Status: $job_ID submitted successfully."'

说明

  • 第一条sed规则直接将原脚本中job_ID=$1的动态参数赋值行,替换为固定的job_ID=你的实际输入值
  • 第二条sed规则全局替换脚本中所有${job_ID}变量为实际值,双重保证脚本完全静态
  • 提交脚本时移除了末尾的$job_ID传参,避免冗余
  • 如果你所用的HPC系统是BSD系(如FreeBSD、macOS),将sed -i改为sed -i ''即可兼容

内容的提问来源于stack exchange,提问作者Shubham Gupta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 20:09:01