Shell變量案例

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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容