| 查看: 1220 | 回复: 5 | ||||
[交流]
【求助完毕】程序表示什么意思?
|
|
以下的程序有些细节还是不知道什么意思。 #!bin/sh #!什么意思啊? rm WAVECAR 为什么要删除WAVECAR啊? for i in 150 200 250 300 350 400 do cat >INCAR< < SYSTEM=Si ENCUT=$i $什么意思啊? ISTART=0 ICHARG=2 ISMEAR=-5 PREC=Accurate ! !什么意思啊 ? echo "ENCUT=$i eV" 什么意思啊 time vasp 是让跑vasp的意思吗? E='grep "TOTEN" OUTCAR |tail -1 | awk' {printf "%12.6f \n",$5} 什么意思啊 echo $i $E >>comment 是将i E的数值输入到comment文件中吗? done [ Last edited by cenwanglai on 2011-3-27 at 21:57 ] |
» 收录本帖的淘帖专辑推荐
分子动力学 |
» 猜你喜欢
自荐读博
已经有9人回复
投稿Elsevier的杂志(返修),总是在选择OA和subscription界面被踢皮球
已经有8人回复
自然科学基金委宣布启动申请书“瘦身提质”行动
已经有4人回复
求个博导看看
已经有18人回复
» 本主题相关价值贴推荐,对您同样有帮助:
请问结构化学中σu σg中的u,g都表示什么意思
已经有5人回复
有谁知道菌株的这种表示是什么意思吗?
已经有5人回复
请问Cu(II) 代表的什么意思?
已经有16人回复
FORTRAN 基础知识讲解
已经有21人回复
求助三元函数二阶偏微分C语言写法
已经有10人回复
请问金属熔炼凝固过程中的毛细现象是什么意思?能详细说明一下吗,谢谢
已经有7人回复
文献中的位点是什么意思,还有8a、16d这些表示什么
已经有5人回复
【求助】签证等程序要多久之前开始做
已经有4人回复
【求助】金属材料的极图代表什么意思?怎么分析?
已经有18人回复
» 抢金币啦!回帖就可以得到:
中国科学院大学纳米科学与工程学院唐智勇(院长)-张银团队招聘启事
+1/176
澳门大学智慧城市物联网国重“结构智能感知、健康监测与无损检测”研究方向博士后招聘
+1/90
广州
+1/65
坐标上海,93年诚征女友
+1/56
香港理工大学-应用生物与化学科技学系 招收2025年博士研究生
+2/56
华中科技大学龚江研究员课题组诚招博士研究生、科研助理和博士后
+2/40
中国科学院大连化学物理研究所DNL0902研究组招聘博士后和职工
+1/37
杨老师招收联合培养硕士、博士生或客座学生
+1/31
上海大学昝鹏教授、军事医学研究院伯晓晨研究员/倪铭副研究员 课题组招聘博士生
+2/26
博士/硕士招生
+1/11
复旦大学聂志鸿团队招聘聚电解质方向博士后和科研助理
+1/10
【博士后/科研助理招聘-北京理工大学-集成电路与电子学院-国家杰青团队】
+1/8
哈尔滨工业大学招收硕士研究生(欢迎环境、市政、生物、化学、农业等专业,长期有效)
+1/7
海南大学化学院—功能分子器件团队博士后招聘
+1/7
中国科学院苏州纳米所院士团队博士后岗位招聘
+1/6
211 院校 化学工程与技术 双一流学科 学术型博士研究生 尚有名额
+1/3
深容SCI智能体四大模块:Method, Introduction, Discussion, Abstract
+1/3
Discussion最难写?因为没有用对工具吧。
+1/2
求《化工原理》第四版 柴诚敬、贾绍义 电子教材及课件
+1/2
湖南大学机械与运载工程学院赵岩副教授课题组招生2026级普通博士生1名
+1/2
★ ★ ★
Gina88(金币+10): 2011-01-25 21:05:21
ellsaking(金币+3): 感谢详细说明 2011-01-26 10:52:02
Gina88(金币+10): 2011-01-25 21:05:21
ellsaking(金币+3): 感谢详细说明 2011-01-26 10:52:02
|
建议楼主了解一些linux脚本的基本知识 #!bin/sh #!shell类型说明,使用的shell是bash rm WAVECAR 删掉波函数,是为了从新开始弛豫(使用随机波函数)。如果INCAR中设置ISTART=0可以不用删除WAVECAR for i in 150 200 250 300 350 400 do cat >INCAR< SYSTEM=Si ENCUT=$i $i表示该处的值用i的值取代,即150,200,250..... ISTART=0 ICHARG=2 ISMEAR=-5 PREC=Accurate ! 前面已经解释过 echo "ENCUT=$i eV" 屏幕上打印引号内的内容,同上,$i用i的值取代 time vasp 运行vasp,并且在程序跑完之后打印消耗的时间 E='grep "TOTEN" OUTCAR |tail -1 | awk' {printf "%12.6f \n",$5} 这一行你要学习grep,tail,awk和管道符号 grep是从文件中提取含有特殊字符的行,在这里是提取OUTCAR中含有TOTEN的行,通过管道符号,将提取出来的这些行交给下一个命令tail -1处理。 tail加一个负数表示显示最后几行,这里-1就是显示最后第一行,同样经过管道符号交给下一个命令处理。 awk是一个文件处理函数,自己学习下吧不是一句两句能说的清楚。这里的意思是将这一行的第五个字符块按照"%12.6f \n"这样的格式输出。这是printf指定的输出格式,google一下你就明白了 echo $i $E >>comment 这里你的理解没错 done |
2楼2011-01-25 18:44:05
★ ★ ★ ★ ★ ★
ellsaking(金币+3): 感谢详细说明 2011-01-26 10:52:20
sunyang1988(金币+3): 谢谢总结 2011-01-26 11:47:46
ellsaking(金币+3): 感谢详细说明 2011-01-26 10:52:20
sunyang1988(金币+3): 谢谢总结 2011-01-26 11:47:46
|
1. echo函数: 输出函数,是下令,不能返回值。echo后头可以跟很多 个参数,之间用分号离隔,如: echo $myvar1; echo 1,2,$myvar,"bold"; 2. print函数: 是函数,可以返回一个值,只能有一个参数。 int print ( string arg ) Outputs arg . Returns 1 , always. 3. printf函数: int printf ( string format [, mixed args [, mixed ...]] ) Produces output according to format , which is described in the documentation for . Returns the length of the outputted string. 把笔墨技俩化以后输出,如: $name="hunte"; $age=25; printf("my name is %s, age %d", $name, $age); 4. sprintf函数: string sprintf ( string format [, mixed args [, mixed ...]] ) Returns a string produced according to the formatting string format . 跟printf雷同,但不打印,而是返回技俩化后的笔墨,其他的与printf一样。 5. 具体讲解printf()函数: printf()函数的调用技俩为: printf("<技俩化字符串>", <参量表> ; %d 十进制有标记整数 %u 十进制无标记整数 %f 浮点数 %s 字符串 %c 单个字符 %p 指针的值 %e 指数形式的浮点数 %x, %X 无标记以十六进制表示的整数 %o 无标记以八进制表示的整数 %g 主动 选择适宜 的表示法 阐发 : (1). 可以在"%"和字母之间插进数字表示最大场宽。 ①譬喻: %3d 表示输出3位整型数, 不足3位右对齐。 ②%9.2f 表示输出场 宽为9的浮点数, 此中小数位为2, 整数位为6, 小数点占一位, 不足9位右对齐。 ③%8s 表示输出8个字符的字符串, 不足8个字符右对齐。 ④假如字符串的长度、或整型数位数高出 阐发 的场宽, 将按着实 际长度输出。 ⑤浮点数, 若整数部分 位数高出 了阐发 的整数位宽度, 将按实际 整数位输出; ⑥小数部分 位数高出 了阐发 的小数位宽度, 则按阐发 的宽度以四舍五入输出。 ⑦若想在输出值前加一些0, 就应在场宽项前加个0。 譬喻: %04d 表示在输出一个小于4位的数值时, 将在前面补0使其总宽度为4位。 ⑧假如用浮点数表示字符或整型量的输出技俩, 小数点后的数字代表最大宽度, 小数点前的数字代表最小宽度。 譬喻: %6.9s 表示表现一个长度不小于6且不大于9的字符串。若大于9, 则第9个字符以后的内容将被删除。 (2). 可以在"%"和字母之间加小写字母l, 表示输出的是长型数。 ①譬喻: %ld 表示输出long整数 ②%lf 表示输出double浮点数 (3). 可以独霸输出左对齐或右对齐, 即在"%"和字母之间介入一个"-" 号可阐发 输出为左对齐, 不然为右对齐。 ①譬喻: %-7d 表示输出7位整数左对齐 ②%-10s 表示输出10个字符左对齐 (4). 一些出格规定 字符 ①\n 换行 ②\f 清屏并换页 ③\r 回车 ④\t Tab符 ⑤\xhh 表示一个ASCII码用16进表示, ⑥此中 hh是1到2个16进制数 [ Last edited by Gina88 on 2011-1-25 at 21:55 ] |
3楼2011-01-25 21:50:56
★ ★ ★
ellsaking(金币+3): 感谢详细说明 2011-01-26 10:52:34
ellsaking(金币+3): 感谢详细说明 2011-01-26 10:52:34
|
shell的种类 Linux中的shell有多种类型,其中最常用的几种是Bourne shell(sh)、C shell(csh)和Korn shell(ksh)。三种shell各有优缺点。Bourne shell是UNIX最初使用的shell,并且在每种UNIX上都可以使用。Bourne shell在shell编程方面相当优秀,但在处理与用户的交互方面做得不如其他几种shell。Linux操作系统缺省的shell是Bourne Again shell,它是Bourne shell的扩展,简称Bash,与Bourne shell完全向后兼容,并且在Bourne shell的基础上增加、增强了很多特性。Bash放在/bin/bash中,它有许多特色,可以提供如命令补全、命令编辑和命令历史表等功能,它还包含了很多C shell和Korn shell中的优点,有灵活和强大的编程接口,同时又有很友好的用户界面。 C shell是一种比Bourne shell更适于编程的shell,它的语法与C语言很相似。 Linux为喜欢使用C shell的人提供了Tcsh。Tcsh是C shell的一个扩展版本。Tcsh包括命令行编辑、可编程单词补全、拼写校正、历史命令替换、作业控制和类似C语言的语法,它不仅和Bash shell是提示符兼容,而且还提供比Bash shell更多的提示符参数。 Korn shell集合了C shell和Bourne shell的优点并且和Bourne shell完全兼容。Linux系统提供了pdksh(ksh的扩展),它支持任务控制,可以在命令行上挂起、后台执行、唤醒或终止程序。 Linux并没有冷落其他shell用户,还包括了一些流行的shell如ash、zsh等。每个shell都有它的用途,有些shell是有专利的,有些能从Internet网上或其他来源获得。要决定使用哪个shell,只需读一下各种shell的联机帮助,并试用一下。 用户在登录到Linux时由/etc/passwd文件来决定要使用哪个shell。例如: # fgrep lisa /etc/passwd lisa:x:500:500:TurboLinux User:/home/lisa:/bin/bash shell被列每行的末尾(/bin/bash)。 [ Last edited by Gina88 on 2011-1-25 at 22:15 ] |
4楼2011-01-25 22:12:40
★ ★ ★
ellsaking(金币+3): 感谢详细说明 2011-01-26 10:52:42
ellsaking(金币+3): 感谢详细说明 2011-01-26 10:52:42
|
首先非常感谢版主的回答,非常详细。我也上网查了查这些东西,还是有些东西不能明白。 我的计算是在集群计算机上的。 我用telnet或者SSH连接集群计算机的。 上面的程序是在telnet或者SSH连接时的命令模式下。 直接用vi进行编辑的吗?编辑后要不要保存退出来啊?退出来后它就直接运行了吗? 还是事先建一个文件,再将上面的程序写进去的?如果是,建的文件名字是什么呢? 然后就和以前的一样用vasp.lsf运行吗? 还有:cat >INCAR<可不可以省略啊,不是已经有<<表示输入了吗? #是不是注释行啊,这样!也可以省略了啊? grep那一行,既然grep提取的是一行,管道符又是将前面的结果交给下一个命令,而tail -1又表示显示最后一行。那是不是tail -1可以省略了呢,因为grep提取的只有一行啊。或者tail 可以被more less head等代替啊? [ Last edited by Gina88 on 2011-1-25 at 22:45 ] |
5楼2011-01-25 22:33:24
★ ★
Gina88(金币+10): 2011-01-26 19:56:58
gzqdyouxia(金币+2): 谢谢详细指导 2011-01-27 10:00:12
Gina88(金币+10): 2011-01-26 19:56:58
gzqdyouxia(金币+2): 谢谢详细指导 2011-01-27 10:00:12
|
可以用vi编辑器,编辑完当然要保存退出 保存退出后看下它的权限,如果不是可执行文件就“chmod +x 文件名” 文件名自己取,比如xxx.sh 运行时./xxx.sh就可以 cat >INCAR<不可以省略,如果没有这一符号相当于cat INCAR就是打印INCAR的内容 前面加#是注释,可以省略。第一行#!不一样,是指定shell类型,不是注释 不可以省略tail -1静态计算只有一行,驰豫会有N多行,最后一行是驰豫结束的结果 tail ,head 与more, less是不一样的,具体你可以百度一下这里用tail最合适 |
6楼2011-01-26 11:49:40







回复此楼
;