7.脚本编写练习1---显示当前主机ip地址 / 显示能登陆系统的用户 / 显示当前主机名&ip&能够登陆系统的用户 / 清空日志
·
『练习1』:执行ip_show.sh,显示当前主机ip地址

vim ip_show.sh
cat ip_show.sh
##################################
# Author: zxy #
# Create_Date:2019-08-19 23:03 #
# Mail: zxy@zxyos.com #
# Description: #
# #
##################################
#!/bin/bash
ifconfig | awk '/inet\>/&&!/127.0.0.1/{print $2}' /*将ifconfig命令的输出过滤出以“inet”字符串结尾且不为127.0.0.1(回环接口)的第二部分*/
测试:sh ip_show.sh


『练习2』:执行user_show.sh,显示当前主机中能登陆系统的用户

vim user_show.sh
##################################
# Author: zxy #
# Create_Date:2019-08-19 23:11 #
# Mail: zxy@zxyos.com #
# Description: #
# #
##################################
#!/bin/bash
awk -F : 'BEGIN{print "NAME"}/bash$/||/sh$/||/tcsh$/||/csh$/{print $1}' /etc/passwd
测试:sh user_show.sh


『练习3』:执行,显示当前主机的名称,ip,以及能够登陆系统的用户

vim host_message.sh
##################################
# Author: zxy #
# Create_Date:2019-08-19 23:15 #
# Mail: zxy@zxyos.com #
# Description: #
# #
##################################
#!/bin/bash
echo "hostname:`hostname`"
echo "host ipaddress:
`ifconfig | awk '/inet\>/&&!/127.0.0.1/{print $2}'`"
echo "Login user list:
`awk -F : '/bash$/||/sh$/||/tcsh$/||/csh$/{print $1}' /etc/passwd | sed 's/^/ /g'`"
测试:sh host_message.sh


『练习4』:clear_log.sh,执行命令后可以清空日志

vim clear_log.sh
##################################
# Author: zxy #
# Create_Date:2019-08-19 23:18 #
# Mail: zxy@zxyos.com #
# Description: #
# #
##################################
#!/bin/bash
[ "$USER" = "root" ] && {
> /var/log/messages
echo -e "\033[32mclean /var/log/messages successful !!!\033[0m"
}||{
echo -e "\033[31mThis script must run with root !!!\033[0m"
}

测试1:超级用户执行脚本
sh clear_log.sh

测试2:切换到普通用户执行脚本,普通用户无权清空日志
su - student
sh clear_log.sh

更多推荐



所有评论(0)