shell编程实战9

Posted tanzhirong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell编程实战9相关的知识,希望对你有一定的参考价值。

1. 根据网卡名输出IP

#!/bin/bash

ip addr|grep ^[0-9]|awk -F ‘[: ]+‘ ‘print $2‘>/tmp/eth.list

##利用死循环来提示用户输入正确的网卡名,输入正确的网卡名后跳出死循环
while :
do
echo "The network card is `cat /tmp/eth.list|xargs`" #多行合并为一行
read -p "请输入网卡名:" x
if [ -z "$x" ]
then
echo "请输入一个网卡名"
continue
fi
if ! grep -qw "$x" /tmp/eth.list
then
echo "输入的网卡名不存在,请输入正确的网卡名"
continue
else
break
fi
done

## 一个网卡一个IP的情况,ip写入变量中
#ip=`ip addr show dev eth0|grep -w "inet"|awk ‘print $2‘|awk -F / ‘print $1‘`
#echo "The $x ip is $ip"

## 一个网卡多个IP的情况,IP写入文件中
net_ip()

ip addr show dev eth0|grep -w "inet"|awk ‘print $2‘|awk -F / ‘print $1‘ >/tmp/$1.txt
n=`wc -l /tmp/$1.txt|awk ‘print $1‘`
if [ $n -eq 0 ]
then
echo "the $1 没有IP"
else
echo "the $1 ip is:"
cat /tmp/$1.txt
fi

net_ip $x

2. 列出目录内容

 技术图片

3. 下载文件

#!/bin/bash

if [ $# -ne 2 ]
then
echo "必须输入2个参数,第一个参数为网站,第二参数为目录"
exit 1
fi

if [ ! -d $2 ]
then
while :
do
echo "$2目录不存在,是否创建该目录?(y|n)"
read c
case $c in
y|Y)
mkdir -p $2
break
;;
n|N)
exit 51
;;
*)
echo "请输入y或者n"
continue
;;
esac
done
else
cd $2
wget $1
if [ $? -eq 0 ]
then
exit 0
else
echo "下载失败"
exit 52
fi
fi

4. 猜数字

 技术图片

5. 

以上是关于shell编程实战9的主要内容,如果未能解决你的问题,请参考以下文章

Linux Shell编程实战---计算特定目录下前10个大文件

Shell脚本编程实战

Linux Shell编程实战---解析文本中的邮件地址和url

SHELL编程开发实战Apache虚拟主机

Shell 编程实战

Shell编程实战