- Shell脚本第一行必须是 #!/bin/bash
- 符号#!用来告诉系统执行该脚本的程序(如果使用tc shell改为tcsh)。
- 使用chmod命令将脚本文件权限改为可执行:chmod +x shellfilename
- 在进行shell编程时,以 # 开头的句子表示注释
- 所有的变量都由字符串组成,并且不需要对变量进行声明
- 首个字符必须为字母(a-z,A-Z)
- 中间不能有空格,可以使用下划线(_)
- 不能使用标点符号
- 不能使用bash里的关键字
- 要取用一个变量的值,只需在变量名前面加一个$
- 给变量赋值的时候,不能在”=”两边留空格
- first="hello "
- echo “${first}world” #混淆
- shell的默认赋值是字符串赋值
- let 表示数学运算
- $[] 表示将中括号内的表达式作为数学运算先计算结果再输出 如:_tot=$[$_int+89]
- expr 用于整数值运算,每一项用空格隔开 如:_tot='expr $var + 20'
- expr 运算符两侧都必须有空格
- C shell不支持浮点运算符
if语句:
if [ 条件 ]; then 语句
elif [ 条件 ];then 语句
else 语句
fi
[]比较的时候其括号前后的空格别忘了! = 等号前后也要有空格也要注意
例子:
#!/bin/sh varOne=1 varTwo=2 varThree=3 if [ "$varOne" = "$varTwo" ]; then echo "varTwo:$varTwo" elif [ "$varOne" = "$varThree" ]; then echo "varThree:$varThree" else echo "varOne:$varOne" fi
&& 和 || 操作符:
例子:
#!/bin/sh varOne=1 varTwo=2 varThree=3 if [ "$varOne" = "$varThree" ] || [ "$varOne" = "$varTwo" ]; then echo "|| 进入" else echo "No || 进入" fi if [ "$varOne" = "$varOne" ] && [ "$varOne" = "$varTwo" ]; then echo "&& 进入" else echo "No && 进入" fi
case 语句:
case表达式可以用来匹配一个给定的字符串,而不是数字
#!/bin/sh ftype=`file "$1"` # Note ' and ` is different case "$ftype" in "$1: Zip archive"*) unzip "$1" ;; "$1: gzip compressed"*) gunzip "$1" ;; "$1: bzip2 compressed"*) bunzip2 "$1" ;; *) echo "File $1 can not be uncompressed with smartzip";; esac
特殊变量$1,该变量包含有传递给该脚本的第一个参数值,也就是说,$1 就是字符串 articles.zip
select 语句:
select表达式是bash的一种扩展应用,擅长于交互式场合。用户可以从一组不同的值中进行选择
#!/bin/sh echo "What is your favourite OS?" select var in "Linux" "Gnu Hurd" "Free BSD" "Other"; do break; done echo "You have selected $var"
while/for 循环:
#!/bin/sh varOne=1 varTwo=1 # while while [ "$varOne" = "$varOne" ]; do echo "while Done" break done # for for varStr in H I M I ; do echo "varStr is $varStr" done
输出
while Done varStr is H varStr is I varStr is M varStr is I localhost:Desktop Himi$
函数:
函数名() { #$1代表第一个函数参数 $2代表第二个函数参数..... exit 0 } 函数名
脚本调试:
最简单的调试方法当然是使用echo命令。你可以在任何怀疑出错的地方用echo打印变量值,这也是大部分shell程序员花费80%的时间用于调试的原因。Shell脚本的好处在于无需重新编译,而插入一个echo命令也不需要多少时间。shell也有一个真正的调试模式,如果脚本”strangescript”出错,可以使用如下命令进行调试:
sh -x strangescript
上述命令会执行该脚本,同时显示所有变量的值。shell还有一个不执行脚本只检查语法的模式,命令如下:
sh -n your_script
OK,本章主要是为了熟悉一些控制语句和常用知识点,那么到这对于Shell编程基础学习认识就算告一段落,如有必要以后会继续深入学习;暂时足以;
本文内容参考了http://xiaominghimi.blog.51cto.com/2614927/908879