01. 使用Shell腳本打印,系統(tǒng)版本、內(nèi)核版本平臺、虛擬平臺、靜態(tài)主機名、eth0網(wǎng)卡IP地址、lo網(wǎng)卡IP地址、當(dāng)前主機的外網(wǎng)IP地址curl icanhazip.com
[root@web01 /scripts]# cat var.sh
#!/bin/bash
Version=$(awk '{print $1,$4}'? /etc/redhat-release)
Vm=$(hostnamectl | awk '/Virtua/{print $2}')
Kernel=$(hostnamectl | sed -nr '/Kernel/s#.*x (.*).e.*#\1#gp')
Static_Name=$(hostnamectl? | awk '/Static/{print $3}')
Eth0=$(ifconfig? eth0 | awk 'NR==2{print $2}')
Lo=$(ifconfig? lo | awk 'NR==2{print $2}')
Wan=$(curl -s? icanhazip.com)
echo "當(dāng)前系統(tǒng)版本為:$Version"
echo "當(dāng)前系統(tǒng)內(nèi)核版本為:$Kernel"
echo "當(dāng)前系統(tǒng)虛擬化平臺為:$Vm"
echo "當(dāng)前系統(tǒng)靜態(tài)主機名為:$Static_Name"
echo "當(dāng)前系統(tǒng)Eth0網(wǎng)卡IP地址為:$Eth0"
echo "當(dāng)前系統(tǒng)Lo網(wǎng)卡IP地址為:$Lo"
echo "當(dāng)前系統(tǒng)外網(wǎng)IP地址為:$Wan"
[root@web01 /scripts]# sh var.sh
當(dāng)前系統(tǒng)版本為:CentOS 7.6.1810
當(dāng)前系統(tǒng)內(nèi)核版本為:3.10.0-957
當(dāng)前系統(tǒng)虛擬化平臺為:vmware
當(dāng)前系統(tǒng)靜態(tài)主機名為:web01
當(dāng)前系統(tǒng)Eth0網(wǎng)卡IP地址為:10.0.0.7
當(dāng)前系統(tǒng)Lo網(wǎng)卡IP地址為:127.0.0.1
當(dāng)前系統(tǒng)外網(wǎng)IP地址為:120.242.172.89
2. 需求描述:變量string="Bigdata process is Hadoop, Hadoop is open source project",執(zhí)行腳本后,打印輸出string變量,并給出用戶以下選項:
#需求
1)打印string長度
2)刪除字符串中所有的Hadoop
3)替換第一個Hadoop為Linux
4)替換全部Hadoop為Linux
用戶請輸入數(shù)字1|2|3|4,可以執(zhí)行對應(yīng)項的功能。
[root@web01 /scripts]# cat string.sh
#!/bin/bash
String="Bigdata process is Hadoop, Hadoop is open source project"
echo $String
cat <<EOF
1)打印string長度
2)刪除字符串中所有的Hadoop
3)替換第一個Hadoop為Linux
4)替換全部Hadoop為Linux
EOF
read -p? "請根據(jù)上方的菜單的選項輸出對應(yīng)的功能,如{1|2|3|4}:" Num
if [ $Num -eq 1 ];then
? ? echo "當(dāng)前String變量的長度為:${#String}"
fi
if [ $Num -eq 2 ];then
? ? echo "刪除變量中的所有Hadoop字符串。"
? ? echo ${String//Hadoop/}
fi
if [ $Num -eq 3 ];then
? ? echo "替換變量中的第一個Hadoop為Linux。"
? ? echo ${String/Hadoop/Linux}
fi
if [ $Num -eq 4 ];then
? ? echo "替換變量中的所有的Hadoop為Linux。"
? ? echo ${String//Hadoop/Linux}
fi
"
echo "當(dāng)前系統(tǒng)內(nèi)核版本為:$Kernel"
echo "當(dāng)前系統(tǒng)虛擬化平臺為:$Vm"
echo "當(dāng)前系統(tǒng)靜態(tài)主機名為:$Static_Name"
echo "當(dāng)前系統(tǒng)Eth0網(wǎng)卡IP地址為:$Eth0"
echo "當(dāng)前系統(tǒng)Lo網(wǎng)卡IP地址為:$Lo"
echo "當(dāng)前系統(tǒng)外網(wǎng)IP地址為:$Wan"
[root@web01 /scripts]# sh var.sh
當(dāng)前系統(tǒng)版本為:CentOS 7.6.1810
當(dāng)前系統(tǒng)內(nèi)核版本為:3.10.0-957
當(dāng)前系統(tǒng)虛擬化平臺為:vmware
當(dāng)前系統(tǒng)靜態(tài)主機名為:web01
當(dāng)前系統(tǒng)Eth0網(wǎng)卡IP地址為:10.0.0.7
當(dāng)前系統(tǒng)Lo網(wǎng)卡IP地址為:127.0.0.1
當(dāng)前系統(tǒng)外網(wǎng)IP地址為:120.242.172.89