设为首页 收藏本站
查看: 936|回复: 0

[经验分享] centos 基础脚本练习12

[复制链接]

尚未签到

发表于 2018-4-20 08:31:42 | 显示全部楼层 |阅读模式
  练习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

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-449386-1-1.html 上篇帖子: centos7初始化脚本 下篇帖子: centos7新特性3
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表