计算化学公社

标题: 求助sob老师高斯批量计算脚本的含义 [打印本页]

作者
Author:
978142355    时间: 2016-7-13 09:52
标题: 求助sob老师高斯批量计算脚本的含义
最近一些日子学习了shell脚本的一些知识,于是想看一看与计算相关的脚本,找到了http://www.sobereva.com/258,但对于网址中第2个项内容,如图所示的画红线部分不太理解,可能是我看书看的还是少,没领会那里的意思,希望老师给予一些指导与说明。
另外,我对此程序做了小修改,因为在服务器上计算时,常常是放在后台中计算,当再次登录服务器时,那个时间会看不到了,将时间输出放在了一个文件中,代码如下:
  1. #!/bin/bash
  2. echo "" >output
  3. for inf in *.gjf
  4. do
  5. echo Running ${inf} ...
  6. echo "${inf}" >>output
  7. { time g09 < ${inf} > ${inf//gjf/out}; } 2>>output
  8. echo ${inf} is finished
  9. echo
  10. done
复制代码


作者
Author:
zsu007    时间: 2016-7-13 10:40
画红线部分的作用就是用out替换gjf。
作者
Author:
978142355    时间: 2016-7-13 11:02
zsu007 发表于 2016-7-13 10:40
画红线部分的作用就是用out替换gjf。

这个我倒是猜出来了。不过inf//gjf,gjf/out这个地方怎么翻译?可否提供一下,哪里有/这个符号的含义(PS:我只知道在linux系统中,/表示路径)。
作者
Author:
冰释之川    时间: 2016-7-13 11:35
978142355 发表于 2016-7-13 11:02
这个我倒是猜出来了。不过inf//gjf,gjf/out这个地方怎么翻译?可否提供一下,哪里有/这个符号的含义(PS ...

bash脚本语言规则而已,知道就行
作者
Author:
978142355    时间: 2016-7-13 16:14
冰释之川 发表于 2016-7-13 11:35
bash脚本语言规则而已,知道就行

非常感谢您的回复。规则肯定是规则,不过我未找到相关资料明白其用法是什么,这样的话,我自己写,肯定是写不出来,因为我并未理解其的用法。
作者
Author:
KiritsuguPapa    时间: 2016-7-13 19:21
本帖最后由 KiritsuguPapa 于 2016-7-13 19:23 编辑
978142355 发表于 2016-7-13 16:14
非常感谢您的回复。规则肯定是规则,不过我未找到相关资料明白其用法是什么,这样的话,我自己写,肯定是 ...

https://askubuntu.com/questions/ ... ble-slash-mean-in-f

https://www.gnu.org/software/bash/manual/html_node/Shell-Parameter-Expansion.html
${parameter/pattern/string}
The pattern is expanded to produce a pattern just as in filename expansion. Parameter is expanded and the longest match ofpattern against its value is replaced with string. If pattern begins with ‘/’, all matches of pattern are replaced withstring.



作者
Author:
978142355    时间: 2016-7-13 21:24
KiritsuguPapa 发表于 2016-7-13 19:21
https://askubuntu.com/questions/ ... ble-slash-mean-in-f

https://www.gnu.org/software/bash/manu ...

谢谢您提供的链接,我明白这个语法的含义的了,非常感谢。同时也感谢zsu007和冰释之川的参与与回复,谢谢。




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3