判断用户参数:
【 条件表达式 】
可选的参数:
-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"
fi
for循环语句: 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
done
case 条件测试语句:
case 变量值 in
模式1)
命令序列1
;;
模式1)
命令序列2
;;
..........
*)
默认命令序列
esac
eg:
#!/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