#! /bin/bash
#Display a line
echo "luowei"
log="money"
echo $log
echo "the \$log is $log"
echo "\$0 = $0"
echo "\$1 = $1"
echo "\$2 = $2"
echo "$# files to Display"
for file in $@
do
ls -l $file
done
echo "today is `date`"
#计算并输出结果
num=1
num=$[$num+1]
echo $num
#控制语句 中括号与等号两边必须要空一格
a=3
if [ $a == 1 ]
then
echo "equl 1"
elif [ $a == 2 ]
then
echo "equl 2"
elif [ $a == 3 ]
then
echo "equl 3"
fi
#case 语句
case "$1" in
start)
echo "start"
;;
esac
#条件测试
if ./test 1
then
echo "return 1"
fi
# test expr 等价于 [ expr ]
# 1.字符串比较
if [ "luowei" == "luowei1" ]
then
echo "xiangdeng"
elif [ -n "luowei" ]
then
echo "length > 0"
else
echo "no equl"
fi
#2.文件测试 -b file 是块设备文件 -c file 是字符文件 -f file常规文件......
if [ -x ./test ]
then
./test
fi
#3.数字比较 -eq等于 -ne不等于 -lt小于 -gt大于 -ge大于或等于
num1=12
if [ $num1 -eq 12 ]
then
echo "num1 equl 12"
else
echo "num1 eq不等于 12"
fi
#符合表达式 !expr 非运算 expr -a expr与运算 expr -o expr 或运算
if [ $num1 -eq 12 -a -x ./test ]
then
echo "等于12 且 文件可执行!"
fi
#while循环
echo "input a number(>0)"
#输入一个值并保存在total中
read total
echo "$total"
sum=0
number=1
while [ $number -le $total ]
do
sum=$[ $sum + $number ]
number=$[ $number + 1 ]
#或者 let number= $number + 1
done
echo "The summery is $sum with --while"
#until循环
until [ $number -gt $total ] #仅仅在这里改一下就可以了. -gt
do
sum=$[ $sum + $number ]
number=$[ $number + 1 ]
#或者 let number= $number + 1
done
echo "The summery is $sum with --until"
#for语句 有时希望从列表中逐一读取一系列的值.
for temp in 1 2 3 4 5 6 7 8 9 10
do
echo "$temp"
done
if [ $temp = 10 ]
then
echo "exit"
exit 1
fi
#使用seq命令来生成序列
echo "使用seq命令来生成序列:"
for temp in `seq 1 3 16`
do
echo "$temp"
done
#==与=区别
#== 可用于判断变量是否相等,= 除了可用于判断变量是否相等外,还可以表示赋值。
#= 与 == 在 [ ] 中表示判断(字符串比较)时是等价的.