十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無(wú)憂售后,網(wǎng)站問(wèn)題一站解決
這篇文章主要介紹shell中變量的操作示例,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

七、shell變量
env命令,查看系統(tǒng)環(huán)境變量

set命令,不僅可以查看系統(tǒng)變量,還可以查看自定義變量
自定義變量

變量名規(guī)則
變量名可以是字母、數(shù)字和下劃線,首位不能是數(shù)字
變量值有特殊符號(hào)的時(shí)候需要用單引號(hào)(脫義)括起來(lái)

表示式復(fù)雜的時(shí)候需要用雙引號(hào)引起來(lái),變量的累加
獲取變量的值并插入到字符當(dāng)中
第一個(gè)寫法不能獲取變量的值
第二個(gè)用大括號(hào)將變量名括起來(lái)可以獲取到
全局變量
當(dāng)打開多個(gè)終端時(shí),使用命令echo $SSH_TTY,可以查看當(dāng)前所在的終端
在終端1自定義一個(gè)變量,終端2是無(wú)法查看

bash是shell的一個(gè)子bash,可以通過(guò)pstree查看在哪,如果沒(méi)有該命令,使用如下命令安裝
yum install psmisc

現(xiàn)在是在第二個(gè)bash下,第一個(gè)bash所設(shè)置的環(huán)境變量在第一個(gè)bash下不生效,如果想讓第一個(gè)bash在第二個(gè)bash上面生效,可以使用全局變量
取消變量
unset b
echo $b

八、環(huán)境變量配置
環(huán)境變量配置文件可分為:系統(tǒng)層次配置文件和用戶層次配置文件
系統(tǒng)層次配置文件(/etc下的文件)
1./etc/profile 用戶環(huán)境變量,交互,登錄才執(zhí)行
2./etc/bashrc 用戶不用登錄,執(zhí)行shell就生效
用戶層次配置文件(用戶家目錄下的文件)
1.~/.bashrc
2.~/.bash_profile
一般我們不要編輯系統(tǒng)層次的配置文件,在有需要時(shí),可以編輯用戶層次的配置文件.bash_profile
source .bash_profile和..bash_profile作用一樣,加載配置文件里的配置
~/.bash_history,用來(lái)記錄命令歷史
~/.bash_logout,用來(lái)定義用戶退出的時(shí)候需要做的一些操作
ps1是在/etc/bashrc里面定義的,用于定義命令左邊的字符串顯示
修改W為w,發(fā)現(xiàn)變成絕對(duì)路徑


修改方括號(hào),這里的普通用戶顯示普通用戶,root用戶顯示#
顏色顯示
九、shell特殊符號(hào)_sut命令
格式:cut -d '分割字符’[-cf] n,這里n是數(shù)字,改命令選項(xiàng)有如下:
-d 后面跟分割字符,分割字符
-c 后面接的時(shí)第幾個(gè)字符
-f 后面接的是第幾個(gè)區(qū)塊
cut命令用法如下:

cat passwd這個(gè)文件,head只查看前兩行,cut -d截取分割符號(hào)“:”,-f 1表示截取第一段,1,2表示前兩段,1-3表示頭三段
十、sort_wc_uniq命令
sort命令介紹
sort命令用于排序
格式:sort [-t 分隔符] [-kn1,n2][-nru]
這里的-n1 n2指的是數(shù)字,其他選項(xiàng)如下
-t后面跟分割字符,作用和cut-d選項(xiàng)一樣,截取符號(hào)是什么
-n 使用純數(shù)字排序,字母及特殊符號(hào)為0
-r反向排序
如sort不加任何選項(xiàng),他是默認(rèn)升序輸出,我們查看passwd配置文件前五行有什么區(qū)別
查看passwd前五行,輸出給sort執(zhí)行,按默認(rèn)升序排序

使用sort來(lái)進(jìn)行排序,以數(shù)字排序-n -n代表正序,特殊符號(hào)及字母表示為0

-r反向排序
wc命令介紹,用于來(lái)統(tǒng)計(jì)
wc用于統(tǒng)計(jì)文檔的行數(shù),字符數(shù)及詞數(shù)
-l 統(tǒng)計(jì)行數(shù)
-m統(tǒng)計(jì)字符數(shù)
-w統(tǒng)計(jì)詞數(shù),以空格來(lái)區(qū)分
命令uniq刪除重復(fù)的行
uniq用來(lái)刪除重復(fù)的行,-c選項(xiàng)比較常用
使用uniq前,必須先給文件排序,否則不管用

統(tǒng)計(jì)重復(fù)的行有多少
tee 重定向并顯示內(nèi)容
把echo的內(nèi)容通過(guò)管道符號(hào),輸出給tee命令到6.txt 然后在屏幕上面顯示出來(lái)

tr,用于替換字符
-d表示刪除某個(gè)字符,后面跟需要?jiǎng)h除的字符
-s表示刪除重復(fù)的字符
比如需要替換文件某個(gè)字符,把小寫改成大寫
split切割文檔
-b表示根據(jù)大小來(lái)切割文檔,默認(rèn)單位為byte(字節(jié))
-l表示根據(jù)行數(shù)來(lái)切割文檔
隨便切割一個(gè)文檔,例如5.txt,切割1KB
指定目錄文件為123開頭的文件
十一、shell特殊符號(hào)
$
$可以用作變量前面的標(biāo)識(shí)符號(hào),還可以和!一起組合起來(lái)用

;
如果想要在一行中運(yùn)行一個(gè)或者多個(gè)以上的命令,需要在命令之前加;
~
表示用戶的家目錄,root的家目錄是/root,普通用戶的家目錄是/home/username
&
如果想把一條命令放在后臺(tái)執(zhí)行,需要加上符號(hào)&,通常用于命令長(zhǎng)時(shí)間運(yùn)行的情況下,可以和sleep(休眠)一起用
重定向> >> 2> 2>> &>
分別表示取代(>)和追加(>>)
2>錯(cuò)誤重定向
2>>錯(cuò)誤追加重定向
&>表示錯(cuò)誤和正確的重定向輸入到一個(gè)文件去
中括號(hào)[]表示一個(gè)范圍
&&表示前面的命令執(zhí)行成功后才會(huì)執(zhí)行后面的命令,如果前面的執(zhí)行不成功,后面的就不會(huì)執(zhí)行

||表示或者,如果兩條命令用來(lái)分割,如果第一條執(zhí)行成功后第二條就不會(huì)執(zhí)行,如果第一條錯(cuò)誤,就會(huì)執(zhí)行第二條
第一條執(zhí)行成功,第二條不執(zhí)行
第一條不成功,執(zhí)行第二條

普通符號(hào)
*任意一個(gè)字符
?任意一個(gè)字符
#注釋字符
\拓義字符
|管道符
以上是“shell中變量的操作示例”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。