判斷用戶的參數 [ 條件表達式 ] #注意兩邊都有空格
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