| 6 | 1/1 | 返回列表 |
| 查看: 1303 | 回復(fù): 5 | ||||
Gina88木蟲 (正式寫手)
|
[交流]
【求助完畢】程序表示什么意思?
|
|
以下的程序有些細(xì)節(jié)還是不知道什么意思。 #!bin/sh #!什么意思? rm WAVECAR 為什么要?jiǎng)h除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 ] |
分子動(dòng)力學(xué) |
» 搶金幣啦!回帖就可以得到:
+2/128
+1/84
+1/81
+2/42
+1/38
+2/38
+1/30
+1/21
+1/19
+1/18
+1/17
+1/15
+1/13
+1/12
+1/8
+1/7
+1/7
+1/4
+1/4
+1/1
至尊木蟲 (著名寫手)
|
建議樓主了解一些linux腳本的基本知識(shí) #!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" 屏幕上打印引號(hào)內(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和管道符號(hào) grep是從文件中提取含有特殊字符的行,在這里是提取OUTCAR中含有TOTEN的行,通過管道符號(hào),將提取出來的這些行交給下一個(gè)命令tail -1處理。 tail加一個(gè)負(fù)數(shù)表示顯示最后幾行,這里-1就是顯示最后第一行,同樣經(jīng)過管道符號(hào)交給下一個(gè)命令處理。 awk是一個(gè)文件處理函數(shù),自己學(xué)習(xí)下吧不是一句兩句能說的清楚。這里的意思是將這一行的第五個(gè)字符塊按照"%12.6f \n"這樣的格式輸出。這是printf指定的輸出格式,google一下你就明白了 echo $i $E >>comment 這里你的理解沒錯(cuò) done |
木蟲 (正式寫手)
|
1. echo函數(shù): 輸出函數(shù),是下令,不能返回值。echo后頭可以跟很多 個(gè)參數(shù),之間用分號(hào)離隔,如: echo $myvar1; echo 1,2,$myvar,"bold"; 2. print函數(shù): 是函數(shù),可以返回一個(gè)值,只能有一個(gè)參數(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 單個(gè)字符 %p 指針的值 %e 指數(shù)形式的浮點(diǎn)數(shù) %x, %X 無標(biāo)記以十六進(jìn)制表示的整數(shù) %o 無標(biāo)記以八進(jìn)制表示的整數(shù) %g 主動(dòng) 選擇適宜 的表示法 闡發(fā) : (1). 可以在"%"和字母之間插進(jìn)數(shù)字表示最大場(chǎng)寬。 、倨┯: %3d 表示輸出3位整型數(shù), 不足3位右對(duì)齊。 、%9.2f 表示輸出場(chǎng) 寬為9的浮點(diǎn)數(shù), 此中小數(shù)位為2, 整數(shù)位為6, 小數(shù)點(diǎn)占一位, 不足9位右對(duì)齊。 、%8s 表示輸出8個(gè)字符的字符串, 不足8個(gè)字符右對(duì)齊。 、芗偃缱址拈L(zhǎng)度、或整型數(shù)位數(shù)高出 闡發(fā) 的場(chǎng)寬, 將按著實(shí) 際長(zhǎng)度輸出。 、莞↑c(diǎn)數(shù), 若整數(shù)部分 位數(shù)高出 了闡發(fā) 的整數(shù)位寬度, 將按實(shí)際 整數(shù)位輸出; 、扌(shù)部分 位數(shù)高出 了闡發(fā) 的小數(shù)位寬度, 則按闡發(fā) 的寬度以四舍五入輸出。 、呷粝朐谳敵鲋登凹右恍0, 就應(yīng)在場(chǎng)寬項(xiàng)前加個(gè)0。 譬喻: %04d 表示在輸出一個(gè)小于4位的數(shù)值時(shí), 將在前面補(bǔ)0使其總寬度為4位。 ⑧假如用浮點(diǎn)數(shù)表示字符或整型量的輸出技倆, 小數(shù)點(diǎn)后的數(shù)字代表最大寬度, 小數(shù)點(diǎn)前的數(shù)字代表最小寬度。 譬喻: %6.9s 表示表現(xiàn)一個(gè)長(zhǎng)度不小于6且不大于9的字符串。若大于9, 則第9個(gè)字符以后的內(nèi)容將被刪除。 (2). 可以在"%"和字母之間加小寫字母l, 表示輸出的是長(zhǎng)型數(shù)。 ①譬喻: %ld 表示輸出long整數(shù) ②%lf 表示輸出double浮點(diǎn)數(shù) (3). 可以獨(dú)霸輸出左對(duì)齊或右對(duì)齊, 即在"%"和字母之間介入一個(gè)"-" 號(hào)可闡發(fā) 輸出為左對(duì)齊, 不然為右對(duì)齊。 、倨┯: %-7d 表示輸出7位整數(shù)左對(duì)齊 、%-10s 表示輸出10個(gè)字符左對(duì)齊 (4). 一些出格規(guī)定 字符 ①\n 換行 ②\f 清屏并換頁 ③\r 回車 ④\t Tab符 ⑤\xhh 表示一個(gè)ASCII碼用16進(jìn)表示, ⑥此中 hh是1到2個(gè)16進(jìn)制數(shù) [ Last edited by Gina88 on 2011-1-25 at 21:55 ] |
木蟲 (正式寫手)
|
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ò)展,簡(jiǎn)稱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的一個(gè)擴(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ù)控制,可以在命令行上掛起、后臺(tái)執(zhí)行、喚醒或終止程序。 Linux并沒有冷落其他shell用戶,還包括了一些流行的shell如ash、zsh等。每個(gè)shell都有它的用途,有些shell是有專利的,有些能從Internet網(wǎng)上或其他來源獲得。要決定使用哪個(gè)shell,只需讀一下各種shell的聯(lián)機(jī)幫助,并試用一下。 用戶在登錄到Linux時(shí)由/etc/passwd文件來決定要使用哪個(gè)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)行了嗎? 還是事先建一個(gè)文件,再將上面的程序?qū)戇M(jìn)去的?如果是,建的文件名字是什么呢? 然后就和以前的一樣用vasp.lsf運(yùn)行嗎? 還有:cat >INCAR<可不可以省略啊,不是已經(jīng)有<<表示輸入了嗎? #是不是注釋行啊,這樣!也可以省略了啊? grep那一行,既然grep提取的是一行,管道符又是將前面的結(jié)果交給下一個(gè)命令,而tail -1又表示顯示最后一行。那是不是tail -1可以省略了呢,因?yàn)間rep提取的只有一行啊。或者tail 可以被more less head等代替啊? [ Last edited by Gina88 on 2011-1-25 at 22:45 ] |
至尊木蟲 (著名寫手)
|
可以用vi編輯器,編輯完當(dāng)然要保存退出 保存退出后看下它的權(quán)限,如果不是可執(zhí)行文件就“chmod +x 文件名” 文件名自己取,比如xxx.sh 運(yùn)行時(shí)./xxx.sh就可以 cat >INCAR<不可以省略,如果沒有這一符號(hào)相當(dāng)于cat INCAR就是打印INCAR的內(nèi)容 前面加#是注釋,可以省略。第一行#!不一樣,是指定shell類型,不是注釋 不可以省略tail -1靜態(tài)計(jì)算只有一行,馳豫會(huì)有N多行,最后一行是馳豫結(jié)束的結(jié)果 tail ,head 與more, less是不一樣的,具體你可以百度一下這里用tail最合適 |
| 6 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 一志愿天津大學(xué)化學(xué)工藝專業(yè)(081702)315分求調(diào)劑 +7 | yangfz 2026-03-17 | 7/350 |
|
|---|---|---|---|---|
|
[考研] 268求調(diào)劑 +3 | 簡(jiǎn)單點(diǎn)0 2026-03-17 | 3/150 |
|
|
[考研] 268求調(diào)劑 +8 | 一定有學(xué)上- 2026-03-14 | 9/450 |
|
|
[考研] 考研化學(xué)學(xué)碩調(diào)劑,一志愿985 +4 | 張vvvv 2026-03-15 | 6/300 |
|
|
[考研] 26考研求調(diào)劑 +6 | 丶宏Sir 2026-03-13 | 6/300 |
|
|
[考研] 0854可跨調(diào)劑,一作一項(xiàng)核心論文五項(xiàng)專利,省、國級(jí)證書40+數(shù)一英一287 +3 | 小李0854 2026-03-16 | 3/150 |
|
|
[考研] 271求調(diào)劑 +12 | 生如夏花… 2026-03-11 | 14/700 |
|
|
[考研] 304求調(diào)劑 +4 | ahbd 2026-03-14 | 4/200 |
|
|
[考研] 311求調(diào)劑 +5 | 26研0 2026-03-15 | 5/250 |
|
|
[考研] 070303一志愿西北大學(xué)學(xué)碩310找調(diào)劑 +5 | d如愿上岸 2026-03-12 | 8/400 |
|
|
[考研] 【0703化學(xué)調(diào)劑】-一志愿華中師范大學(xué)-六級(jí)475 +5 | Becho359 2026-03-11 | 5/250 |
|
|
[考研] 學(xué)碩285求調(diào)劑 +13 | Wisjxn 2026-03-12 | 46/2300 |
|
|
[考研] 330求調(diào)劑 +3 | ?醬給調(diào)劑跪了 2026-03-13 | 3/150 |
|
|
[考研] 一志愿中科院,化學(xué)方向,295求調(diào)劑 +4 | 一氧二氮 2026-03-11 | 4/200 |
|
|
[考研] 26調(diào)劑/材料/英一數(shù)二/總分289/已過A區(qū)線 +6 | 步川酷紫123 2026-03-13 | 6/300 |
|
|
[考研] 0703化學(xué)一志愿211 總分320求調(diào)劑 +5 | 瑪卡巴卡啊哈 2026-03-11 | 5/250 |
|
|
[考研] 材料工程調(diào)劑 +4 | 咪咪空空 2026-03-11 | 4/200 |
|
|
[考研] 310求調(diào)劑 +3 | 【上上簽】 2026-03-11 | 3/150 |
|
|
[考研] 一志愿211化學(xué)學(xué)碩310分求調(diào)劑 +8 | 努力奮斗112 2026-03-12 | 9/450 |
|
|
[考研] 290求調(diào)劑 +3 | ADT 2026-03-13 | 3/150 |
|