判断用户的参数 [ 条件表达式 ] #注意两边都有空格
6.1 文件测试参数
-d 测试文件是否为目录类型
-e 测试文件是否存在
-f 判断是否为通常文件
-r 测试当前用户是否有权限读取
-w 测试当前用户是否有权限写入
-x 测试当前用户是否有权限执行shell
6.2 逻辑语句符号
&& 逻辑与
|| 逻辑或
! 逻辑非 [ !USER=root ] #当前帐户不是rootvim
6.3 整数比较运算符号;
-eq 是否等于
-ne 是否不等于
-gt 是否大于
-lt 是否小于
-le 是否等于或者小于
-ge 是否等于或者大于
[ 10 -gt 9 ] 10大于9 bash
6.4 字符串比较运算符
= 比较字符串内容是否相同
!= 比较字符串内容是否不一样
-z 判断字符串内容是否为空 # [ -z $HAHA ] 使用变量前能够测试是否有人已经用了这个变量名称ide
流程控制语句
7.1 if语句
ping -c 8 -i 0.1 -W 10 $1 &> /dev/null
#ping一个地址,尝试ping8次,每次间隔0.1秒,等待超时10秒($1表示第一个参数,其实就是ip地址),无论是否成功输出都写入/dev/null
if [ $? -eq 0 ]
echo "host is online"
then
else
echo "host is offline"
fi学习
if (单/双/多)
then
elif
then
else
fi测试
7.2 for条件循环语句(考试)
touch user.txt #文件中写入几个用户名称
zhangsan
lisi
wangwu
zhaoliucode
vim user.sh
#!/bin/bash
#useradd
for UNAME in cat user.txt
#设置UNAME为user.txt中的用户名称
do
id $UNAME &> /dev/null
if [ $? -eq 0 ]
then
echo " user is already exists "
else
then
useradd $UNAME &> /dev/null
echo " $PASSWD " | passwd --stdin $UNAME &> /dev/null
fi
doneip
7.3 while条件循环语句
while 条件测试操做
do 命令
done字符串
7.4 case条件测试语句it
case 变量值in
模式1)
命令序列1
;;
模式2)
命令序列2
……
esac