PS:闲来无事,稍微总结一下shell脚本的简单编写方法,虽然不能涵盖Shell Script的全部,但是普通的shell脚本的编写差不多都翻了一遍,全当复习,高手莫喷
Linux知识复习:
Locale查看本地语系变量
系统默认语系存放点:etc/sysconfig/i18n
Declare/typeset宣告环境变量的类型:
命令别名设定alias 别名=”命令”
Date命令的用法:显示时间:
显示当前时间:date +%Y%m%d
显示1天前的时间:date –date=’1 days ago’ +%Y%m%d
一.什么是Shell Script
Shell Script就像早期DOS年代的批处理文件(.bat),最简单的功能是将许多指令汇整写在一起一次性执行
Shell Script的注意事项:
(1) 指令的执行时从上而下、从左到右执行的
(2) 指令、选项与参数间的多个空白都会被忽略
(3) 【tab】按键所推开的空白按照空格处理
(4) 如果一行中的内容太多可以用[\[Enter]]来延伸到下一行
(5) [#]可以作为批注
(6) Shell本必须具有可读可执行的权力
二.Shell脚本的编写
Shell脚本的编写格式:
1.第一行#!/bin/bash在宣告这个script使用的Shell名称
因为我们使用的是bash,所以必须要使用[#!/bin/bash]来宣告这个文档内的语法使用bash的语法
2.shell脚本以#作为注释的开始
3.主要程序部分
Shell脚本中的数值运算
利用delare来定义变量为整数后就能够进行加减运算,也可以利用[$((计算式))]来进行数值运算
在数值计算上也可以使用[declare –i total=$firstnu*$secnu]
利用test指令的测试功能
作用:测试系统上的某些档案或是相关的属性时,利用test指令
Test指令表
常用几个,其余查表:
小知识:&&与||
Code1 && code2:表示code1为真时才执行code2
Code1 || code2:表示code1为假时才执行code1
利用判断符号
除了利用test之外还可以使用“[]”来进行数据判断
注意:由于中括号用在许多地方(例如:正则表达式)为了区分,
中括号两边需要加上空格
例如:
中括号表达式使用的几点注意:
1. 在中括号中每个组件的都需要有空格键来分隔
2. 在中括号中的变数,最哈都以双引号括起来
3. 在中括号内的常熟,最好都以单引号或双引号括起来
Shell脚本中的默认变数
最后是if for等逻辑语句,格式与及用法与c语言大致相同
For循环(BASH):
形式一:
For var in [list]
do
#code block
done
解释:$var是循环控制变量,[list]是var
需要遍历的一个集合,do done相当于一对大括号
注意:如果do 和for被写在同一行需要在do后面加上”;”
例1:
#!/bin/bash #会循环5次For day in Sun Mon Wed Thu Fri Sat Sun
Do
Echo $day
done
#只循环一次
For day in “Sun Mon Wed Thu Fri Sat Sun”
Do
Echo $day
Done
例2:
注意:
在for所在的那行,变量day是没有$符号的
而在循环体内部echo所在的行变量$day必须加上$
形式2:
While循环:
结构:
While[condition]
Do
#code block
Done
Until循环:
Until [condition]//当条件为假时执行code block
Do
#code block
done
Case语句:
case “$var” in
Condition 1)
Data block
;;
Condition 2)
Data block
;;
*)
default statements;;
esac
例:
Read表示读取按键
Shell脚本中的函数:
例如:
#!/bin/bash
#program:
# test
# 20120215 sola
Function println()
{
Echo –n “This shell script called:” #加上-n可以不断行继
#续在同一行显示
}
Println;
Echo $1