let SUM+=$I 相当于 let SUM=$SUM+$I
let I+=1 相当于 let I++ 相当于 let I=$I+1
let I-=1 相当于 let I-- 相当于 let I=$I-1
+= 相加等 eg: let I=$I+1 相当于 let I+=1 相当于 let I++ 只有每次加1时才等于I++
-= 相减等 eg: let I=$I-1 相当于 let I-=1 相当于 let I-- 只有每次减1时才等于I++
%= 取模等 eg: let I=$I%3 相当于 let I%=3
*= 乘积等 eg: let I=$I*3 相当于 let I*=3
/= 相除等 eg: let I=$I/3 相当于 let I/=3
练习一:
通过接受用户输入的用户名进行,添加或删除用户,./adminuser.sh --add user1,user2,jack,donggen 表示添加4个用户自动输入的用户,密码跟输入的用户名相同
--del表示删除用户制定的用户,并且,存在的用户,需提示已经存在不能添加,不存在的用户
删除时提示此用户不存在。
#!/bin/bash
#program:
#练习接收用户输入的用户名,判断删除或者添加用户
#history donggen 2016-10-22-22:50
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bash
export PATH
if [ $# -lt 1 ]; then
echo " USAGE: $0 ARG"
exit 5
fi
if [ $1 == "--add" ]; then
for I in `echo "$2" | sed 's/,/ /g'` ; do
if id $I &> /dev/null ; then
echo "$I is exist"
else
useradd $I &> /dev/null
echo "$I" | passwd --stdin $I &> /dev/null
echo "$I is add successful"
fi
done
elif [ $1 == "--del" ]; then
for I in `echo "$2" | sed 's/,/ /g'` ; do
if id $I &> /dev/null ; then
userdel -r $I
echo " $I is del successful"
else
echo "NO such $I"
fi
done
else
echo "UNknown symbol"
fi
练习二、
写一个脚本,使用组合测试
if [ $1 ='q' -o $1 = 'Q' -o $1 = 'quit' -o $1 = 'Quit' ]; then
ehco " Quiting..."
else
echo "Unknown symbol"
fi
练习三:
如何计算100以内的,所有奇数和,以及所有偶数和。
#!/bin/bash
#program:
#计算100以内奇数和偶数的和
# histrory donggen 2016-10-24-8:43
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bash
export PATH
declare -i ODDSUM=0
declare -i EVENSUM=0
for I in {1..100}; do
if [ $[$I%2] -eq 0 ]; then
let EVENSUM+=$I
else
let ODDSUM+=$I
fi
done
echo " The odd sum is:" $ODDSUM"
echo " The even sum is: $EVENSUM"