centos 基礎腳本練習12

練習1 寫一個腳本 用函數的方法
通過ping 命令測試192.168.0.151 到192.168.0.254 之前的所有主機是否在線。 如果在線,就顯示"ip is up.",其中的IP要換爲真正的IP地址,且以綠色顯示;如果不在線,就顯示“ip is down。”,其中的IP更換爲真正的IP地址,且以紅色顯示;
[root@localhost mscripts]# cat lx37.sh lx37b.sh lx37c.sh
#!/bin/bash
function ONLINE {
ping -c 1 -W 1 $1
}
for I in {1..10}; do
if ONLINE 172.16.99.$I &> /dev/null; then
echo "172.16.99.$I up."
else
echo "172.16.99.$I down."
fi
done
///////////////
#!/bin/bash
function ONLINE {
if ping -c 1 -W 1 $1 &> /dev/null; then
echo "$1 up."
else
echo "$1 down."
fi
}

for I in {1..10}; do
ONLINE 172.16.99.$I
done
////////////////
#!/bin/bash
function ONLINE {
if ping -c 1 -W 1 $1 &> /dev/null; then
return 0
else
return 1
fi
}

for I in {1..10}; do
ONLINE 172.16.99.$I
if [ $? = 0 ]; then
echo -e "\033[32m172.16.99.$I up.\033[0m"
else
echo -e "\033[31m172.16.99.$I down.\033[0m"
fi
done
練習2 寫一個腳本 使用函數完成
1, 函數能夠接受一個參數,參數爲用戶名;
判斷用戶是否存在
如果存在,就返回此用戶的shell 和UID; 並返回正常狀態值;
如果不存在,就說此用戶不存在;並返回錯誤值;
2, 在主程序中調用函數;
[root@localhost mscripts]# cat lx38.sh
#!/bin/bash
USERNAME () {
if id $1 &> /dev/unll; then
id -u $1
cat /etc/passwd | grep "$1" | awk -F: '{print $7}'
return 0
else
return 2
fi
}

if [ $? -eq 0 ]; then
USERNAME bruce
else
USERNAME bruce
fi

    擴展1: 在主程序中,讓用戶自己輸入用戶名後,傳遞給函數來進行判斷;

    [root@localhost mscripts]# cat lx38b.sh

#!/bin/bash
USERNAME () {
if id -u $1 &> /dev/null; then
return 0
else
return 1
fi
}
read -p "Please input a user:" USERS
USERNAME $USERS
if [ $? = 0 ]; then
id -u $USERS
grep "$USERS" /etc/passwd | awk -F: '{print $7}'
else
echo "$USERS not exist."
fi

    擴展2: 在主程序中, 輸入用戶名判斷後不退出腳本,而是提示用戶繼續輸入下一個用戶名;但如果用戶輸入的是Q或者q就退出;

    [root@localhost mscripts]# cat lx38c.sh

#!/bin/bash
USERNAME () {
if id -u $1 &> /dev/null; then
return 0
else
return 1
fi
}
read -p "Please input a user:" USERS
#USERNAME $USERS
while :; do
case $USERS in
q|Q)
echo "quit.."
exit 7
;;
*)
USERNAME $USERS
if [ $? = 0 ]; then
id -u $USERS
grep "$USERS" /etc/passwd | awk -F: '{print $7}'
else
echo "$USERS not exist."
fi
;;
esac
read -p "Please input a user again:" USERS
done

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章