24小时热门版块排行榜    

查看: 3291  |  回复: 17
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

butterflyyh

木虫 (著名写手)

[求助] ENCUT测试脚本

使用VASP的ENCUT测试脚本optencut.sh
rm WAVECAR
for i in 100 150 200 250 300 350 400 450 500 550 600
do
cat > INCAR < SYSTEM = bcc Fe
ENCUT = $i
ISTART = 0 ; ICHARG = 2
ISMEAR = -5
PREC = Accurate
!
echo "ENCUT = $i eV"; time vasp
E=$(grep "TOTEN" OUTCAR | tail -1| awk '{printf "%12.6f \n", $5}')
echo $i $E >> comment
done
执行后出错:syntax error: unexpected end of file
optencut.sh脚本是我按照VASP计算前的验证写的,请问有没有人知道出错原因?多谢
回复此楼
nothingisimpossible
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

leehb870605

银虫 (小有名气)

【答案】应助回帖

★ ★ ★
butterflyyh(金币+15): 2011-08-17 18:01:40
youzhizhe(金币+3): 谢谢交流。 2011-08-17 19:56:40
1,脚本第一行的
#!/bin/sh
这句话不知道你写了没有,

2,如果你是在WINDOWS环境下的写的脚本,然后再在LINUX环境下运行,可能就会出如下问题,下面是我转的

Shell 尴尬一: syntax error:unexpected end of file
2010-05-23 21:20
在windows下写好了Shell 但是在linux下用
>> sh -n [filesName]  检查语法总是出一个错误 syntax error:unexpected end of file
原因如下:
dos文件传输到unix系统时,会在每行的结尾多一个^M,在vi的时候,当你用如下命令:
>>vi dos.txt
>>:set fileformat=unix
>>:w
就会看到这些存在于每行结尾的^M符号,这个就是产生syntax error:unexpected end of file的原因
解决方案:
在vi下把这些^M都删除后, 搞定!

3,E=$(grep "TOTEN" OUTCAR | tail -1| awk '{printf "%12.6f \n", $5}') 这一句在我那里曾经出过问题,我把它更改过,再每次循环时ECHO一个总能,只是没有这句话后面那些控制输出格式的东西罢了,也可以尝试把这句删掉再试试(个人意见)
2楼2011-08-16 14:57:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 butterflyyh 的主题更新
信息提示
请填处理意见