| 查看: 1246 | 回复: 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 ] |
» 收录本帖的淘帖专辑推荐
分子动力学 |
» 猜你喜欢
拟解决的关键科学问题还要不要写
已经有8人回复
存款400万可以在学校里躺平吗
已经有30人回复
最失望的一年
已经有12人回复
求推荐英文EI期刊
已经有5人回复
请教限项目规定
已经有4人回复
国自然申请面上模板最新2026版出了吗?
已经有20人回复
26申博
已经有3人回复
基金委咋了?2026年的指南还没有出来?
已经有10人回复
基金申报
已经有6人回复
疑惑?
已经有5人回复
» 本主题相关价值贴推荐,对您同样有帮助:
请问结构化学中σu σg中的u,g都表示什么意思
已经有5人回复
有谁知道菌株的这种表示是什么意思吗?
已经有5人回复
请问Cu(II) 代表的什么意思?
已经有16人回复
FORTRAN 基础知识讲解
已经有21人回复
求助三元函数二阶偏微分C语言写法
已经有10人回复
请问金属熔炼凝固过程中的毛细现象是什么意思?能详细说明一下吗,谢谢
已经有7人回复
文献中的位点是什么意思,还有8a、16d这些表示什么
已经有5人回复
【求助】签证等程序要多久之前开始做
已经有4人回复
【求助】金属材料的极图代表什么意思?怎么分析?
已经有18人回复
» 抢金币啦!回帖就可以得到:
南佛罗里达大学化学系刘文奇课题组 2026 Fall 招收有机/超分子方向博士生
+2/940
招聘|深圳大学王丹特聘教授/钟熊伟助理教授团队诚聘博士后
+1/797
浙江师范大学招收大气遥感、光学或人工智能方向的2026年物理学博士生1名
+2/280
上海交通大学变革分子学中心申涛课题组2026秋季入学推荐-考核制博士招生(有机)
+1/80
哈尔滨工业大学王东博课题组/中科院上海微系统所梁丽娟课题组招收2026年博士生1名
+1/78
北京大学季者课题组招聘博士后和科研助理/化学/化生/生命科学/物理/工程等
+1/78
中国科协青年托举(针对32岁青年人才的)是不是不搞了,25年都没有通知
+1/71
[长期合作招募] 同济大学肖倩老师团队诚邀港澳学者学术交流
+1/56
广州,真诚找对象
+1/52
上海交通大学 碳纳米管、阵列、器件应用博士后招聘
+1/40
坐标广州,诚征男友,大个子女生,非诚勿扰
+2/38
智合健物课题组2026年博士生招生(湖北工业大学)
+1/31
[长期合作招募] 同济大学肖倩老师团队诚邀港澳学者学术交流
+1/29
上海理工大学“新能源材料”专业-赵斌教授招收申请考核制博士生【能源催化方向】
+1/24
帮导师招2026CSC博士(巴塞罗那自治大学UAB-CSC博士项目)
+1/19
电子科技大学「基础与前沿研究院」文明健老师课题组招收博士
+1/11
山东理工大学资源与环境工程学院陶东平教授课题组招收2026级博士研究生
+1/9
香港浸会大学化学系质谱分析测试中心招聘研究助理
+1/9
2026 年南方医科大学基础医学院李琳课题组招收“申请-审核” 博士研究生
+1/5
紧急招博士生报考
+1/3
★ ★ ★
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













回复此楼
;