爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 15162|回复: 15

[原创]Bash学习心得

[复制链接]
发表于 2011-9-24 00:02:24 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 ztftom 于 2011-10-17 23:27 编辑

(转载请注明出自“气象家园”)
Shell是Linux实现流程控制、任务管理的有利武器。对于WRF用户来说,学会Shell进行批处理(Batch), 可以更有效率地实现对WRF的管理。Shell并不止一种,但我只掌握了Bash这一种,所以以此为基础总结经验。

首先,对于哪些是Bash是能够做到的,哪些是Bash不能做到的,有一个大概的了解。我是通过下面一个网站有了一个对Bash的基本了解(http://www.freeos.com/guides/lsst/)。个人觉得,流程(redirect)和过滤(filter)是Bash最具有特色的两个特征,在读手册时,特别注意"|",">","<",">>","``"这几个符号的功能。

第二,发现需求。要发掘Bash的功能,最好从应用入手。先有问题,再解决问题,这是一种有效的Bash学习方法。只是读手册、背手册的话,需要花费大量时间,而且不一定保证效果良好。对于新手来说,要不怕把事情变麻烦,不能停留于已有的技能。举一个例子,在使用WRF的时候,可以手动地更改namelist,但你还可以根据需要,编写Bash script, 让Bash来帮你更改。不要害怕把事情复杂化,因为很快你会发现这样做的好处,比如你可以让电脑帮你计算那些容易出错的interval, 比如说你可以在今后用相同的script自动控制restart run的流程,而不用一遍一遍地提交WRF job.

第三,google。很可能在刚开始的时候,你对Linux的命令感到茫然。Google这时候可以给你提供解决问题的范例。比如说,用grep去搜索pattern, 用cut来选择字符段,用date来控制时间。你只用输入你想要做什么,一般都可以找到解决方案。但不意味着你找到最终答案。如果你只是复制粘贴,很可能什么也学不会。要从别人给出的解决方案中了解他为什么这么做。你可以用google去搜索某个命令到底是什么功能,可以用man来查manual。总之,别人的案例起的作用是帮你缩小学习的范围,找到案例就是学习的开始。

第四,笔记。学习Bash的时候有一个记笔记的习惯是很有好处的。因为Bash很零碎,过一些时间就会忘记。记笔记可以给你的回忆带来线索。还有一个方法,就是去google上搜索相关的reference card。当你学会什么新东西时候,就在上面圈出来。有心得也写在旁边。这个reference card就放在手边电脑旁,很方便。

最后,我觉得,在熟练了Bash之后,还可以进一步学习一个脚本语言,比如 perl 或 python。你可以把它们理解为Bash+++版本,让你最终实现强大的流程控制和任务管理。 ^ ^

## 其实,Bash的学习过程很富有成就感的。


点评

楼主原创啊,一定要顶  发表于 2011-9-24 10:37

评分

参与人数 3威望 +2 金钱 +21 贡献 +3 收起 理由
meehooqq + 2
mofangbao + 10 + 3 楼主辛苦
天目神眉 + 2 + 9 很给力! 感谢分享

查看全部评分

密码修改失败请联系微信:mofangbao
发表于 2011-9-24 00:08:53 | 显示全部楼层
恩,有道理现在我就在学习这东西。感觉计算机能把很多东西变得很简单。
密码修改失败请联系微信:mofangbao
发表于 2011-9-24 00:12:36 | 显示全部楼层
楼主如果看到比较精彩的bash可以和我们分享分享啊!
密码修改失败请联系微信:mofangbao
发表于 2011-9-24 08:44:39 | 显示全部楼层
没好好接触过linux  还是来支持一下楼主啊
密码修改失败请联系微信:mofangbao
发表于 2011-9-24 09:25:12 | 显示全部楼层
多谢楼主的无私奉献
密码修改失败请联系微信:mofangbao
0
早起挑战累计收入
发表于 2011-9-24 10:35:58 | 显示全部楼层
linux必须要学呀 这方面我还是菜鸟
密码修改失败请联系微信:mofangbao
发表于 2011-9-24 13:39:02 | 显示全部楼层
表示想学linux,但是现在还没用装好。。。
密码修改失败请联系微信:mofangbao
发表于 2011-9-25 14:48:04 | 显示全部楼层
密码修改失败请联系微信:mofangbao
发表于 2011-10-28 23:52:35 | 显示全部楼层
个人觉得bash还是比较简单的,前段时间利用业余时间系统的学习了bash脚本的编写,感觉把它作为一个工具书更合适,多且简单。
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2011-10-29 08:44:50 | 显示全部楼层
曼珠 发表于 2011-9-25 14:48
bash比csh好用一些,bash比较稳定,csh虽然历史久一些,不过有很大的弊端

我同意这一点,csh的有些语法不是很合理。但许多script因为比较早,用的还是sh/csh,所以csh还是很有市场的。
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表