Linux 第四節(jié)(shell腳本,IF,do,for)
Shell腳本
1.批處理式:
2.交互式:
腳本聲明 #!/bin/bash
腳本注釋 #fakba;kb
腳本命令 ls pwd
bash test.sh //執(zhí)行test.sh腳本
echo "$0" //腳本名稱
echo "$#,$" //總共接收到了幾個參數(shù),這些參數(shù)分別是什么
echo "$1,$3,$5" //分別是我們接收到的第1 3 5參數(shù)
[ -f /etc/fstab ] // 判斷文件是否存在
echo $? //查看文件是否存在,1表示不存在,0表示存在
[ -d /dev ] //判斷目錄是否存在或者是否是一個目錄
echo $? //查看目錄是否存在或者是否是一個目錄,1表示不存在,0表示存在
&& //若前面成功,則執(zhí)行后面的,邏輯與
[ -d /etc ] && echo "ok" //判斷ETC目錄存在就在屏幕顯示 ok
|| //若前面失敗,則執(zhí)行后面的,邏輯或
[ $user = root ] || echo "不是他,不是他" //如果當(dāng)前登錄用戶不是root ,則顯示不是他
! //取反值,邏輯非
[ ! $USER = root ] //判斷當(dāng)前登錄用戶不是root用戶
[ `free -m | grep Mem: | awk '{print $4}‘` -lt 1024 ] && echo "Buzu" || echo "chongzu"
//提取以兆為單位的內(nèi)存空閑值,小于1024就顯示不足,大于1024顯示充足
[ -z $HAHA ] //判斷這個變量是否被使用過
echo $? //查看判斷結(jié)果
if [ -e /madia/haha ] //判斷這個文件是否存在
then
mkdir /madia/haha //新建一個文件
fi
ping -c 3 -i 0.2 -w 3 $1 &> /dev/null
//ping 3次,間隔0.2秒,最長響映時間3秒,將所有輸出信息重定向到一個黑洞文件
if [ $? -eq 0 ]
then
echo "host $1 is on-line“
else
echo "host $1 is off-line"
fi
read -p "Enter:" GRADE //讀取用戶輸入的信息
if [ $GRADE -ge 85 ] && [ $GRADE -le 100 ] ; then
echo "Excellent"
elif [ $GRADE -ge 70 ] && [ $GRADE -le 84 ];then
echo "Pass"
else
echo "Failure"
fi
read -p "Enter:“ PASSWD
for UNAME in `cat users.txt`
do
id $UNAME &> /dev/null
if [ $? -eq 0 ]
then
echo "$UNAME,Already exist"
else
useradd $UNAME &> /dev/null
echo "$PASSWD" | passwd --stdin $UNAME &> /dev/null //
fi
done
//檢測網(wǎng)絡(luò)在線
for IP int `cat ip.txt`
do
ping -c 3 -i 0.2 -w 3 $1 &> /dev/null
if [ $? -eq 0 ] ; then
echo "$IP is on-line"
else
echo "$IP is off-line"
fi
done

浙公網(wǎng)安備 33010602011771號