(1)Shell编程也称为shell脚本,是一种编译性语言,其本质是shell命令的有序集合。
(2)Shell编程的基本过程分三步:
a)新建一个shell文件——touch file1.sh;文件后缀建议写为.sh类型;
b)改变file1.sh文件的权限——chmod 777 file1.sh 设为可读可写可执行;
c)直接在终端上执行file1.sh文件。
(3)shell变量
a)用户自定义:标识符;从右向左赋值、引用变量符号为$、清除变量用unset;
b)命令行参数变量:$0(表示./file.sh)、$1-$9表示./file.sh后的9个参数、$#表示命令行参数个数、$?表示上一行的执行状态结果、$@与$*表示所有命令行参数(即$1-$9)
c)环境变量:有$HOME、$SHELL 可用env命令进行查看。
(4)shell程序和语句
a)说明性语句用 # 符号进行注释
b)功能性语句:expr算术运算命令(有加+、减-、乘\*、除\、求模%),例expr `12 + 5 \*3` ,此处反撇号位于键盘ESC键下方一个键,不可少。
c)功能语句Read:从标准输入读入一行,遇一个空格为一个参数,例:read var1 var2 var3
d) 功能语句test:测试功能,可测试三种对象——字符串、整数、文件属性;测试文件/目录(-f/-d)、测试字符串(等于 =、不等于 !=、是否为0 -z、是否不为0 -n)、整数测试(相等-eq、不等-ne、大于-gt、大于等于-ge、小于-lt、小于等于-le)
(5)结构性语句
a)If条件 then表达式 fi (或if条件 then 表达式 else 表达式 fi)
(练习时去掉#注释符)注:行首单词若不是顶格写,不可用空格键,应使用TAB键。
b)case用法
(练习时去掉#注释符)
c)循环(for、while、until以及break、continue用法)
While与until区别:while是表达式真才执行,until与之相反
Break、 continue与 C语言用法相似