這篇文章將為大家詳細(xì)講解有關(guān)Shell腳本中編程和變量的示例分析,小編覺得挺實(shí)用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
超過十多年行業(yè)經(jīng)驗(yàn),技術(shù)領(lǐng)先,服務(wù)至上的經(jīng)營模式,全靠網(wǎng)絡(luò)和口碑獲得客戶,為自己降低成本,也就是為客戶降低成本。到目前業(yè)務(wù)范圍包括了:成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作,成都網(wǎng)站推廣,成都網(wǎng)站優(yōu)化,整體網(wǎng)絡(luò)托管,小程序設(shè)計(jì),微信開發(fā),APP應(yīng)用開發(fā),同時也可以讓客戶的網(wǎng)站和網(wǎng)絡(luò)營銷和我們一樣獲得訂單和生意![root@localhost ~]# vim aaa.sh "隨意編一個空文件以.sh為結(jié)尾" /bin/bash "開頭聲明,固定格式” 一個腳本 "描述性信息可加可不加" cd /boot/ pwd ls -lh vml* ~ ~
[root@localhost ~]# chmod +x aaa.sh [root@localhost ~]# ./aaa.sh //執(zhí)行腳本,這是我們最常用的方式
/boot -rwxr-xr-x. 1 root root 5.7M 8月 10 00:26 vmlinuz-0-rescue-cc65aecf945d4dde800fe3e29ee6edbc -rwxr-xr-x. 1 root root 5.7M 8月 23 2017 vmlinuz-3.10.0-693.el7.x86_64
" > " :把左側(cè)的命令結(jié)果重定向另一個文件或目錄 [root@localhost opt]# touch abc.tt abd.txt [root@localhost opt]# ls abc.tt abd.txt rh [root@localhost opt]# tar czvf test.tar.gz *.txt > test2.txt [root@localhost opt]# ls abc.tt abd.txt rh test2.txt test.tar.gz [root@localhost opt]# cat test2.txt abd.txt [root@localhost opt]#
" | " :把左側(cè)的命令結(jié)果,作為右側(cè)命令的處理對象
統(tǒng)計(jì)所有磁盤分區(qū)的占用率 [root@localhost opt]# df -hT 文件系統(tǒng) 類型 容量 已用 可用 已用% 掛載點(diǎn) /dev/sda2 xfs 10G 3.8G 6.3G 38% / devtmpfs devtmpfs 898M 0 898M 0% /dev tmpfs tmpfs 912M 0 912M 0% /dev/shm tmpfs tmpfs 912M 9.1M 903M 1% /run tmpfs tmpfs 912M 0 912M 0% /sys/fs/cgroup /dev/sdb1 xfs 20G 33M 20G 1% /mnt/sdb /dev/sda5 xfs 10G 37M 10G 1% /home /dev/sda1 xfs 6.0G 174M 5.9G 3% /boot tmpfs tmpfs 183M 12K 183M 1% /run/user/42 tmpfs tmpfs 183M 0 183M 0% /run/user/0 磁盤在第一列 占用率在第5列 [root@localhost opt]# df -h | grep "dev/sd*" | awk '{print $1,$5 }' /dev/sda2 38% tmpfs 0% /dev/sdb1 1% /dev/sda5 1% /dev/sda1 3% [root@localhost opt]#
預(yù)定義變量: 變量名 作用 $0 當(dāng)前腳本的名字 $n 傳遞給腳本或者函數(shù)的參數(shù),n表示第幾個參數(shù) $# 傳遞給腳本或函數(shù)的參數(shù)個數(shù) $* 傳遞給腳本或函數(shù)的所有參數(shù) $@ 傳遞給腳本或者函數(shù)的所有參數(shù) $$ 當(dāng)前shell腳本進(jìn)程的PID $? 函數(shù)返回值,或者上個命令的退出狀態(tài)
變量名=變量值
變量名以字母或下劃線開頭,區(qū)分大小寫
[root@localhost opt]# Producht=Python [root@localhost opt]# Version=2.7.13 [root@localhost opt]# echo $Producht Python [root@localhost opt]# echo $Producht $Version Python 2.7.13 [root@localhost opt]#
[root@localhost ~]# vim c.sh #!/bin/bash read -p "請輸入一個整數(shù)" num1 read -p "請輸入第二個整數(shù)" num2 ~ [root@localhost ~]# chmod +x c.sh [root@localhost ~]# ./c.sh 請輸入第一個整數(shù)21 請輸入的二個整數(shù)232
[root@localhost ~]# vim .sss.sh
#!/bin/bash read -p "第一個位置變量$1" read -p "第二個位置變量$2" sum=`expr $1 + $2` echo "整數(shù)之和為$sum" ~ [root@localhost ~]# ./.sss.sh 23 45 第一個位置變量23 第二個位置變量45 整數(shù)之和為68 [root@localhost ~]# ./.sss.sh 64 120 第一個位置變量64 第二個位置變量120 整數(shù)之和為18
[root@localhost ~]# echo $PWD /root [root@localhost ~]# echo $HOME /root [root@localhost ~]# echo $USER root [root@localhost ~]# echo $SHELL /bin/bash
#!/bin/bash read -p "第一個位置變量$1" read -p "第二個位置變量$2" sum=`expr $1 + $2` echo "整數(shù)之和為$sum" echo "腳本名稱$0" echo "詳細(xì)數(shù)字$*" echo "參數(shù)的個數(shù)$#" ~ ~
[root@localhost ~]# ./.sss.sh 64 120 第一個位置變量64 第二個位置變量120 整數(shù)之和為184 腳本名稱./.sss.sh 詳細(xì)數(shù)字64 120 參數(shù)的個數(shù)2
關(guān)于“Shell腳本中編程和變量的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。