一、特殊变量
$n(n代表0以上的正整数,代表参数位)
$? 脚本执行状态,0代表执行成功,其他值代表执行失败。
$# 获取传入参数的个数,常用于循环
$* 所有的参数视为一个整体
$@ 代表所有参数,每个参数分隔开
二、运算符
i=[ (1+1)*2 -5/2 ]
三、条件判断
- test condition
- [ condition ] "["必须要空格,不然会语法错误
在shell中,“空”为假,“非空”为真,即 [ ] 返回false,[ xx ]返回true
(一)常用条件判断
== 用于字符串之间的比较,[ "abc" == "aBC" ]
数字比较
-lt 小于 -le小于等于
-eq等于 -ne不等于
-ge大于等于 -gt大于
(二)按照文件权限判断
[ -e xxx文件 ] 判断文件是否存在
-r 有读权限
-w 有写权限
-x 有执行权限
三、流程控制语句
(一)if语句
!/bin/bash
if [ 1 -eq $1 ]
then
echo "1和第一个参数相等"
elif [ 2 -eq $1 ]
then
echo "2和第一个参数相等"
else
echo "1和2都不和第一个参数相等"
fi
(二)case语句
!/bin/bash
case $1 in
"1")
echo "第一个参数等于1"
;;
"2")
echo "参数等于2"
;;
"3")
echo "参数等于3"
;;
*)
echo "所有条件都不匹配"
esac
(三)for循环语句
!/bin/bash
sum=0
for ((i=0;i<5;i++))
do
echo "Hello World $i"
done
sum=0
for ((i=1;i<=100;i++))
do
sum=$[$i+$sum]
done
echo $sum
!/bin/bash
for i in "$*"
do
echo $i
done
for i in "$@"
do
echo $i
done
(四)while循环
!/bin/bash
i=0
while [ $i -le 5 ]
do
echo "Hello World $i"
i=$[ $i+1 ]
done
i=1
sum=0
while [ $i -le 100 ]
do
$sum=$[ $i+$sum ]
i=$[ $i+1 ]
done