shell:小练习

练习1

yang01@yang01-virtual-machine:~/桌面/shell$ cat 05.sh
#!/bin/bash
#检测服务器是否在线

-p
-s 不显示用户输入
-n1 只接受一个字符

#read -p "请输入主机名:"
#read -p "请输入ip:" ip
#read -s -p "请输入密码:" password
#echo
#read -n1 -p "请输入Y/N:" flag

#check_host_line()
function check_host_line
{
echo
echo "参数个数为:$#"
echo "所有参数列表为:$*"
echo "当前脚本文件名:$0"

#hostname="应用服务器"
#ip="114.114.114.114"

#将输入的值赋给REPLY
#hostname="$REPLY"

#ping -c1 -W1 "${ip}" &>/dev/null
ping -c1 -W1 "$2" &>/dev/null

#[ $? = 0 ] && echo "${hostname}在线" || echo "${hostname}不在线"
[ $? = 0 ] && echo "$1在线" || echo "$1不在线"

[ $# != 2 ] && echo "参数个数必须为2" && exit 1 || echo "输入的参数为2"

}

#check_host_line 应用服务器 www.baidu.com
check_host_line $1 $2

yang01@yang01-virtual-machine:~/桌面/shell$ ./05.sh nihao www.baidu.com
./05.sh: 行 4: -p: 未找到命令
./05.sh: 行 5: -s: 未找到命令
./05.sh: 行 6: -n1: 未找到命令

参数个数为:2
所有参数列表为:nihao www.baidu.com
当前脚本文件名:./05.sh
nihao在线
输入的参数为2

 

练习2

#!/bin/bash

#判断输入路径是否为文件、目录或者其他

read -e -p "请输入文件路径(如:/root/one.txt): "

if [ -f "${REPLY}" ]; then
echo "${REPLY}是文件"
elif [ -d "${REPLY}" ]; then
echo "${REPLY}是目录"
else
echo "${REPLY}是其他文件"
fi

 

练习3

-l 今天;-t tcp;-u udp;-n 不解析域名;-p 发打印端口

root@yang01-virtual-machine:/home/yang01/桌面/shell# netstat -ltunp | grep 3306

root@yang01-virtual-machine:/home/yang01/桌面/shell# echo $?
0

posted @ 2021-07-05 23:26  zxy_ang  阅读(26)  评论(0)    收藏  举报