| 5 | 1/1 | 返回列表 |
| 查看: 1301 | 回復(fù): 5 | ||||
| 當(dāng)前只顯示滿足指定條件的回帖,點(diǎn)擊這里查看本話題的所有回帖 | ||||
[交流]
【求助完畢】程序表示什么意思?
|
||||
|
以下的程序有些細(xì)節(jié)還是不知道什么意思。 #!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的數(shù)值輸入到comment文件中嗎? done [ Last edited by cenwanglai on 2011-3-27 at 21:57 ] |
分子動力學(xué) |
» 搶金幣啦!回帖就可以得到:
+4/228
+2/114
+1/85
+1/76
+2/38
+1/35
+1/34
+1/14
+1/13
+1/8
+1/7
+1/6
+1/6
+1/5
+2/4
+1/3
+1/3
+1/2
+1/1
+1/1
|
1. echo函數(shù): 輸出函數(shù),是下令,不能返回值。echo后頭可以跟很多 個參數(shù),之間用分號離隔,如: echo $myvar1; echo 1,2,$myvar,"bold"; 2. print函數(shù): 是函數(shù),可以返回一個值,只能有一個參數(shù)。 int print ( string arg ) Outputs arg . Returns 1 , always. 3. printf函數(shù): 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函數(shù): string sprintf ( string format [, mixed args [, mixed ...]] ) Returns a string produced according to the formatting string format . 跟printf雷同,但不打印,而是返回技倆化后的筆墨,其他的與printf一樣。 5. 具體講解printf()函數(shù): printf()函數(shù)的調(diào)用技倆為: printf("<技倆化字符串>", <參量表> ; %d 十進(jìn)制有標(biāo)記整數(shù) %u 十進(jìn)制無標(biāo)記整數(shù) %f 浮點(diǎn)數(shù) %s 字符串 %c 單個字符 %p 指針的值 %e 指數(shù)形式的浮點(diǎn)數(shù) %x, %X 無標(biāo)記以十六進(jìn)制表示的整數(shù) %o 無標(biāo)記以八進(jìn)制表示的整數(shù) %g 主動 選擇適宜 的表示法 闡發(fā) : (1). 可以在"%"和字母之間插進(jìn)數(shù)字表示最大場寬。 ①譬喻: %3d 表示輸出3位整型數(shù), 不足3位右對齊。 、%9.2f 表示輸出場 寬為9的浮點(diǎn)數(shù), 此中小數(shù)位為2, 整數(shù)位為6, 小數(shù)點(diǎn)占一位, 不足9位右對齊。 ③%8s 表示輸出8個字符的字符串, 不足8個字符右對齊。 、芗偃缱址拈L度、或整型數(shù)位數(shù)高出 闡發(fā) 的場寬, 將按著實(shí) 際長度輸出。 、莞↑c(diǎn)數(shù), 若整數(shù)部分 位數(shù)高出 了闡發(fā) 的整數(shù)位寬度, 將按實(shí)際 整數(shù)位輸出; 、扌(shù)部分 位數(shù)高出 了闡發(fā) 的小數(shù)位寬度, 則按闡發(fā) 的寬度以四舍五入輸出。 、呷粝朐谳敵鲋登凹右恍0, 就應(yīng)在場寬項(xiàng)前加個0。 譬喻: %04d 表示在輸出一個小于4位的數(shù)值時(shí), 將在前面補(bǔ)0使其總寬度為4位。 ⑧假如用浮點(diǎn)數(shù)表示字符或整型量的輸出技倆, 小數(shù)點(diǎn)后的數(shù)字代表最大寬度, 小數(shù)點(diǎn)前的數(shù)字代表最小寬度。 譬喻: %6.9s 表示表現(xiàn)一個長度不小于6且不大于9的字符串。若大于9, 則第9個字符以后的內(nèi)容將被刪除。 (2). 可以在"%"和字母之間加小寫字母l, 表示輸出的是長型數(shù)。 ①譬喻: %ld 表示輸出long整數(shù) ②%lf 表示輸出double浮點(diǎn)數(shù) (3). 可以獨(dú)霸輸出左對齊或右對齊, 即在"%"和字母之間介入一個"-" 號可闡發(fā) 輸出為左對齊, 不然為右對齊。 、倨┯: %-7d 表示輸出7位整數(shù)左對齊 ②%-10s 表示輸出10個字符左對齊 (4). 一些出格規(guī)定 字符 ①\n 換行 ②\f 清屏并換頁 ③\r 回車 ④\t Tab符 ⑤\xhh 表示一個ASCII碼用16進(jìn)表示, ⑥此中 hh是1到2個16進(jìn)制數(shù) [ Last edited by Gina88 on 2011-1-25 at 21:55 ] |
至尊木蟲 (著名寫手)
|
建議樓主了解一些linux腳本的基本知識 #!bin/sh #!shell類型說明,使用的shell是bash rm WAVECAR 刪掉波函數(shù),是為了從新開始弛豫(使用隨機(jī)波函數(shù))。如果INCAR中設(shè)置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 ! 前面已經(jīng)解釋過 echo "ENCUT=$i eV" 屏幕上打印引號內(nèi)的內(nèi)容,同上,$i用i的值取代 time vasp 運(yùn)行vasp,并且在程序跑完之后打印消耗的時(shí)間 E='grep "TOTEN" OUTCAR |tail -1 | awk' {printf "%12.6f \n",$5} 這一行你要學(xué)習(xí)grep,tail,awk和管道符號 grep是從文件中提取含有特殊字符的行,在這里是提取OUTCAR中含有TOTEN的行,通過管道符號,將提取出來的這些行交給下一個命令tail -1處理。 tail加一個負(fù)數(shù)表示顯示最后幾行,這里-1就是顯示最后第一行,同樣經(jīng)過管道符號交給下一個命令處理。 awk是一個文件處理函數(shù),自己學(xué)習(xí)下吧不是一句兩句能說的清楚。這里的意思是將這一行的第五個字符塊按照"%12.6f \n"這樣的格式輸出。這是printf指定的輸出格式,google一下你就明白了 echo $i $E >>comment 這里你的理解沒錯 done |
|
shell的種類 Linux中的shell有多種類型,其中最常用的幾種是Bourne shell(sh)、C shell(csh)和Korn shell(ksh)。三種shell各有優(yōu)缺點(diǎn)。Bourne shell是UNIX最初使用的shell,并且在每種UNIX上都可以使用。Bourne shell在shell編程方面相當(dāng)優(yōu)秀,但在處理與用戶的交互方面做得不如其他幾種shell。Linux操作系統(tǒng)缺省的shell是Bourne Again shell,它是Bourne shell的擴(kuò)展,簡稱Bash,與Bourne shell完全向后兼容,并且在Bourne shell的基礎(chǔ)上增加、增強(qiáng)了很多特性。Bash放在/bin/bash中,它有許多特色,可以提供如命令補(bǔ)全、命令編輯和命令歷史表等功能,它還包含了很多C shell和Korn shell中的優(yōu)點(diǎn),有靈活和強(qiáng)大的編程接口,同時(shí)又有很友好的用戶界面。 C shell是一種比Bourne shell更適于編程的shell,它的語法與C語言很相似。 Linux為喜歡使用C shell的人提供了Tcsh。Tcsh是C shell的一個擴(kuò)展版本。Tcsh包括命令行編輯、可編程單詞補(bǔ)全、拼寫校正、歷史命令替換、作業(yè)控制和類似C語言的語法,它不僅和Bash shell是提示符兼容,而且還提供比Bash shell更多的提示符參數(shù)。 Korn shell集合了C shell和Bourne shell的優(yōu)點(diǎn)并且和Bourne shell完全兼容。Linux系統(tǒng)提供了pdksh(ksh的擴(kuò)展),它支持任務(wù)控制,可以在命令行上掛起、后臺執(zhí)行、喚醒或終止程序。 Linux并沒有冷落其他shell用戶,還包括了一些流行的shell如ash、zsh等。每個shell都有它的用途,有些shell是有專利的,有些能從Internet網(wǎng)上或其他來源獲得。要決定使用哪個shell,只需讀一下各種shell的聯(lián)機(jī)幫助,并試用一下。 用戶在登錄到Linux時(shí)由/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 ] |
|
首先非常感謝版主的回答,非常詳細(xì)。我也上網(wǎng)查了查這些東西,還是有些東西不能明白。 我的計(jì)算是在集群計(jì)算機(jī)上的。 我用telnet或者SSH連接集群計(jì)算機(jī)的。 上面的程序是在telnet或者SSH連接時(shí)的命令模式下。 直接用vi進(jìn)行編輯的嗎?編輯后要不要保存退出來啊?退出來后它就直接運(yùn)行了嗎? 還是事先建一個文件,再將上面的程序?qū)戇M(jìn)去的?如果是,建的文件名字是什么呢? 然后就和以前的一樣用vasp.lsf運(yùn)行嗎? 還有:cat >INCAR<可不可以省略啊,不是已經(jīng)有<<表示輸入了嗎? #是不是注釋行啊,這樣!也可以省略了? grep那一行,既然grep提取的是一行,管道符又是將前面的結(jié)果交給下一個命令,而tail -1又表示顯示最后一行。那是不是tail -1可以省略了呢,因?yàn)間rep提取的只有一行啊;蛘遲ail 可以被more less head等代替。 [ Last edited by Gina88 on 2011-1-25 at 22:45 ] |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 281求調(diào)劑(0805) +3 | 煙汐憶海 2026-03-16 | 8/400 |
|
|---|---|---|---|---|
|
[考研] 308求調(diào)劑 +4 | 是Lupa啊 2026-03-16 | 4/200 |
|
|
[考研] 08工科 320總分 求調(diào)劑 +4 | 梨花珞晚風(fēng) 2026-03-17 | 4/200 |
|
|
[考研] 275求調(diào)劑 +4 | 太陽花天天開心 2026-03-16 | 4/200 |
|
|
[考研] 289求調(diào)劑 +6 | 步川酷紫123 2026-03-11 | 6/300 |
|
|
[考研] 286求調(diào)劑 +3 | lemonzzn 2026-03-16 | 5/250 |
|
|
[考研] 環(huán)境工程調(diào)劑 +6 | 大可digkids 2026-03-16 | 6/300 |
|
|
[考研] 311求調(diào)劑 +5 | 26研0 2026-03-15 | 5/250 |
|
|
[考研] 285求調(diào)劑 +6 | ytter 2026-03-12 | 6/300 |
|
|
[考研] 327求調(diào)劑 +6 | 拾光任染 2026-03-15 | 11/550 |
|
|
[考研] 材料與化工 323 英一+數(shù)二+物化,一志愿:哈工大 本人本科雙一流 +4 | 自由的_飛翔 2026-03-13 | 5/250 |
|
|
[考研] 學(xué)碩285求調(diào)劑 +13 | Wisjxn 2026-03-12 | 46/2300 |
|
|
[考研] 26調(diào)劑/材料/英一數(shù)二/總分289/已過A區(qū)線 +6 | 步川酷紫123 2026-03-13 | 6/300 |
|
|
[考研] 求調(diào)劑 +5 | 一定有學(xué)上- 2026-03-12 | 5/250 |
|
|
[考研] 求b區(qū)學(xué)校調(diào)劑 +3 | 周56 2026-03-11 | 3/150 |
|
|
[考研] 求調(diào)劑 +3 | 程雨杭 2026-03-12 | 3/150 |
|
|
[考研] 308求調(diào)劑 +3 | 是Lupa啊 2026-03-12 | 3/150 |
|
|
[考研] 289求調(diào)劑 +3 | 李政瑩 2026-03-12 | 3/150 |
|
|
[考研] 070303一志愿西北大學(xué)學(xué)碩310找調(diào)劑 +3 | d如愿上岸 2026-03-13 | 3/150 |
|
|
[考研] 333求調(diào)劑 +3 | 152697 2026-03-12 | 4/200 |
|