sobereva 发表于 2023-11-24 07:05 谢谢老师 |
Loading0760 发表于 2023-11-24 12:17 谢谢,我试过了for 循环可以,下面是我运行的代码,格式为.sh 具体在Linux系统下运行命令是 1:用formdos g16.sh 先转化sh文件 2:赋予文件权限:sudo chmod +x g16.sh 3:按照提示输入密码 4:输入./g16.sh 就可以了 #!/bin/bash # 定义任务数量 num_tasks=60 # 循环遍历任务列表 for ((i=1; i<=num_tasks; i++)); do # 构建任务文件名 task="test${i}.gjf" # 构建命令 command="g16 < $task > ${task%.gjf}.out" # 打印当前任务命令 echo "Running: $command" # 执行任务命令,并在后台运行 eval $command & # 获取当前任务的进程ID pid=$! # 等待当前任务完成 wait $pid # 检查任务是否成功完成 if [ $? -eq 0 ]; then echo "Task completed successfully." else echo "Task failed. Exiting." exit 1 fi done echo "All tasks completed successfully." |
我理解一下,你想要的是依次运行这些gjf,假设他们都在一个目录下,可以使用这个脚本。
你需要nohup的话,这个命令我不怎么了解,一种方法是直接把上述的存为.sh。 然后nohup ./runall.sh & |
使用Gaussian时的几个实用脚本和命令 http://sobereva.com/258(http://bbs.keinsci.com/thread-190-1-1.html) |
手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图
GMT+8, 2024-11-26 00:47 , Processed in 0.183196 second(s), 25 queries , Gzip On.