首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 操作系统 >

shell脚本运用笔记

2012-09-25 
shell脚本使用笔记一直以来,自己都没怎么认真研究过shell脚本,每次都是临时google一下拼凑结果,导致每次要

shell脚本使用笔记

一直以来,自己都没怎么认真研究过shell脚本,每次都是临时google一下拼凑结果,导致每次要使用shell脚本时,开发效率都特别低。这次改变一下,将碰到的一些问题记录下来,争取对下次使用有所帮助。

?

1、获取时间的命令

time=`date --date='yesterday' "+%Y-%m-%d"`

time=`date --date='100 days ago' "+%Y-%m-%d"`

详细可参见:http://www.phpzixue.cn/detail818.shtml

?

2、if的使用

使用if的时候,注意左右方括号旁边一定要用空格隔开,否则会报错。右方括号后面接的“;”除外。

?

3、判断输入参数是否存在

直接使用 if [?$1 ] 就可以了,网上的一些方法也能达到效果,但是没有这个这么简单。

if还有多个命令,详细可参见:http://linux.ctocio.com.cn/285/9326285.shtml

?

4、循环读取某文件的写法

while read LINE
do
??????? ...

done <$config_file

?

5、对文件的一行按空格进行分割

ips[$i]=`echo $LINE | awk '{print $1}'`

?

6、数组的展现

数组展现时,需要使用大括号,如:${ips[$i]}

?

7、变量自增

变量自增有多种写法,其中一种为:((i++))

?

8、expect篇

expect的很多命令都不一样,所以不想折腾的话,就将一些准备逻辑扔到bash脚本里面去吧。

expect是有超时的,默认为10秒,修改方式为:set timeout 5。其实超时可以用来变相实现一些可选的步骤,因为如果该步骤执行不到,那么就会超时往下走。

详细可参见:http://fanqiang.chinaunix.net/a4/b8/20010912/1000001278.html

?

9、crontab篇

扔到crontab里面的时候,切记检查是否有相对路径问题,尤其是mkdir的命令容易让人忽略

crontab还有一个较大的问题就是环境变量的问题。

?

?

?

?

?

?

?

热点排行