LINUX学习笔记5——SHELL解析器

来源:岁月联盟 编辑:exp 时间:2011-12-12

a)         作用:将用户输入的指令转换为相应的机器能够运行的程序。方便的重复输入相同的指令。

 

b)         脚本文件:就是程序的意思

 

c)         建立shell脚本文件

 

1.         直接用vi打开的文件就可以,文件名的后缀为.sh

 

2.         #!/bin/sh:#!用来指定该脚本文件的解析程序

 

3.         chmod +x filename:须使其具有可执行属性

 

4.         使用:. 文件名

 

d)         注释:,以#开头的句子表示注释

 

e)         变量:

 

1.         不用定义,直接赋值:a="hello world",,“=”左右两边都不能有空格

 

2.         使用变量:$a,${num}nd,加括号防止混淆

 

3.         默认变量:

 

a)         $# :传入脚本的命令行参数个数

 

b)         $* :所有命令行参数值,在各个参数值之间留有空格

 

c)         $0 :命令本身(shell文件名)

 

d)         $1 :第一个命令行参数

 

e)         $2 :第二个命令行参数

 

4.         局部变量:在变量首次被赋值时加上local 关键字local hello ="var2"

 

f)          系统函数:

 

1.         输出:echo

 

g)         循环结构

 

1.         注意1:括号左右都得有空格,

 

2.         注意2:比较符左右都得有空格

 

3.         If语句

 

a)         if [  expression  ]

 

b)         then

 

c)         #code block

 

                                                                   i.              else if  [  expression  ]  简写:elif

 

                                                                 ii.              then

 

                                                                iii.              #code block

 

                                                                iv.              else

 

                                                                 v.              #code block

 

                                                                vi.              Fi

 

d)         Fi

 

4.         For循环

 

a)         for var in [list]   变量var 是没有加"$" 符号的

 

b)         do

 

c)         #code block

 

d)         Done

 

5.         while循环

 

a)         while [ condition ]   为真时执行

 

b)         do

 

c)         #code block

 

d)         Done

 

6.         until循环

 

a)         until [ condition ]   为假时执行

 

b)         do

 

c)         #code block

 

d)         Done

 

7.         Case语句

 

a)         case "$var" in

 

b)         condition1 )

 

c)         ;;                   相当于break

 

d)         condition2 )

 

e)         ;;

 

f)          * ) default statments;;    相当于默认条件

 

g)         esac

 

h)         比较:

 

1.         比较操作 整数操作 字符串操作

 

2.         相同-eq =

 

3.         不同-ne !=

 

4.         大于-gt >

 

5.         小于-lt <

 

6.         大于或等于-ge

 

7.         小于或等于-le

 

8.         为空-z

 

9.         不为空 –n

 

10.     在“[”和“]”符号的左右都留有空格

 

11.     “=”左右都有空格

 

i)           判断:

 

1.         -e 文件已经存在

 

2.         -f 文件是普通文件

 

3.         -s 文件大小不为零

 

4.         -d 文件是一个目录

 

5.         -r 文件对当前用户可以读取

 

6.         -w 文件对当前用户可以写入

 

7.         -x 文件对当前用户可以执行

 

摘自 小鱼的专栏