24小时热门版块排行榜    

CyRhmU.jpeg
南方科技大学公共卫生及应急管理学院2026级博士研究生招生报考通知(长期有效)
查看: 759  |  回复: 3

aioroslove

金虫 (小有名气)

[求助] linux shell循环的问题已有2人参与

请问大家,在shell sh里的程序如下:
#!/bin/bash
for R in "H2orbit.gjf"
do
R=1
while (( R<=10 ))
do
g09 < H2orbit.gjf > ${R}.out&
R=$(($R+1))
done
done



H2orbit.gjf就是画轨道的,但是在gjf文件里必须给定R的值,这样一来while循环没起到作用了 每次g09的都是原来的文件,请问要如何修改才能在不同的R值处生成轨道信息???


有高手愿意回答一下吗 谢谢
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jerkwin

专家顾问 (正式写手)

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
gkf高: 金币+2 2014-03-27 09:28:37
你要把gif里面的R替换成需要的值啊
用sed就可以了
2楼2014-03-26 22:55:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ChemiAndy

木虫 (正式写手)


【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
aioroslove: 金币+10, 有帮助, 谢谢 不过我已经用sed解决了 2014-03-27 09:03:35
gkf高: 金币+2 2014-03-27 09:28:49
Try this...
CODE:
#!/bin/bash

for (( R=1; R<=10; R++))
do

cat > run_$R.gjf << EOF
%chk=run_$R.chk
# B3LYP/aug-cc-pvdz

Just for example ...

0 1
H
H 1 $R

EOF

g09 run_$R.gjf run_$R.out

done

上面只是举例,实际运行会出错,因为bond Length变量必须为实数而非整数。
3楼2014-03-27 01:46:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

aioroslove

金虫 (小有名气)

引用回帖:
2楼: Originally posted by jerkwin at 2014-03-26 22:55:38
你要把gif里面的R替换成需要的值啊
用sed就可以了

是的 用sed可以解决
4楼2014-03-27 09:02:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 aioroslove 的主题更新
信息提示
请填处理意见