微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

原文地址:https://www.jb51.cc/centos/374948.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。