判断用户参数: 【 条件表达式 】 可选的参数: -d 测试文件是否为目录类型 -e测试文件是否存在 -f测试文件是否为一般文件 -r测试当前用户是否有权限读取 -w测试当前用户是否有权限写入 -x测试当前用户是否有权限执行
-eq 是否等于 -ne 是否不等于 -gt 是否大于 -lt 是否小于 -le 是否等于或小于 -ge 是否大于或等于
= 比较字符串内容是否相同 != 比较是否不同 -z 判断字符串内容是否为空
if条件语句: if ;then elif ;then elif ;then else fi eg:
#!/bin/bash read -p "enter you score (0-100): " G if [ $G -ge 85 ] && [$G -le 100 ] ; then echo "$G is Excellent" elif [ $G -ge 70 ] && [$G -le 84 ] ; then echo "$G is Pass" elif [ $G -gt 100 ] ; then echo "ERROR" elif [ $G -lt 0 ] ; then echo "ERROR" else echo " $G is fail" fifor循环语句: for do done for do (if 语句嵌套) done eg:
vim user.txt name1 name2 name3 name4 #!/bin/bash read -p "Enter the Usear Password : " PASSWD for U in `cat users.txt` do id $U &> /dev/null if [ $? -eq 0 ] then echo "Already exists" else useradd $U &> /dev/null echo "$PASSWD" | passwd --stdin $U &> /dev/null if [ $? -eq 0 ] then echo "$U,create success" else echo "$U,create failure" fi fi done $? 命令: 显示上一条命令执行后的返回值while 条件循环语句:
while do done while 条件测试操作 do 命令序列 done while条件语句让脚本根据条件重复执行命令eg:
#!/bin/bash PRICE=$(expr $RANDOM % 1000) TIMES=0 echo "guess what?" while true do read -p "your guess count: " INT let TIMES++ if [ $INT -eq $PRICE ] ; then echo "congratulation actual price is $PRICE" echo "totle guess $TIMES times" exit 0 elif [ $INT -gt $PRICE ] ; then echo "too high!" else echo "too slow!" fi donecase 条件测试语句:
case 变量值 in 模式1) 命令序列1 ;; 模式1) 命令序列2 ;; .......... *) 默认命令序列 esaceg:
#!/bin/bash read -p "please give a someting and confirm with enter : " KEY case "$KEY" in [a-z] | [A-Z]) echo "your enter is character " ;; [0-9]) echo "your enter is number " ;; *) echo "your enter is space/function or other control tab " esac计划程序服务程序 at
at at 时间 | at -l 查看计划服务 | atrm 序列号crond服务: 分、时、日、月、星期、命令
crontab -e 创建、编辑计划任务 crontab -l 查看当前技术任务 crontab -r 删除eg:
crontab -e 25 3 * * 1,3,5 /usr/bin tar -cvzf backup.tar.gz /home/wwwroot crontab -l文章内容来源于刘遄《Linux 就该这么学》 http://www.linuxprobe.com