變量的定義 使用命令declare $定義一個(gè)新變量 declare $test 定義一個(gè)名為test的新變量羔沙〉耄或者通過(guò)直接賦值的形式定義新變量仔掸。
test = 1
定義一個(gè)名為test的變量,同時(shí)將它的值賦為1
打印變量的值可以使用echo命令。例如:
echo $test
環(huán)境變量有三種:
? ?當(dāng)前shell進(jìn)程私有用戶自定義變量
? ?shell本身內(nèi)建的變量
? ?從自定義變量到處的環(huán)境變量
? ?相關(guān)命令及說(shuō)明:
? ?set|命令顯示當(dāng)前Shell所有環(huán)境變量挡鞍,包括其內(nèi)建環(huán)境變量(與Shell外觀等有關(guān)),用戶自定義的變量及導(dǎo)出的環(huán)境變量预烙。
env|顯示與當(dāng)前用戶相關(guān)的環(huán)境變量墨微,還可以讓命令在指定環(huán)境下運(yùn)行。
export|命令顯示從shell中到處的環(huán)境變量扁掸,也可以通過(guò)該命令將自定義變量導(dǎo)出為環(huán)境變量翘县。
輸出環(huán)境變量:
export test
比較文件的命令:
vimdiff test1.txt test2.txt test3.txt
? ?命令的查找路徑與順序 $PATH環(huán)境變量設(shè)置命令搜索路徑 輸出當(dāng)前命令搜索路徑的設(shè)置
echo $PATH
$PATH中臨時(shí)添加自定義路徑,用冒號(hào)連接路徑
PATH=$PATH:/home/shiyanlou/code
? ?變量修改
? ?${變量名#匹配字符串}:從頭往后匹配谴分,刪除符合匹配字符串的最短數(shù)據(jù)锈麸。
? ?${變量名##匹配字符串}:從頭往后匹配,刪除符合匹配字符串的最長(zhǎng)數(shù)據(jù)牺蹄。
? ?${變量名%匹配字符串}:從后往前匹配忘伞,刪除符合匹配字符串的最短數(shù)據(jù)。
? ?${變量名%%匹配字符串}:從后往前匹配沙兰,刪除符合匹配字符串的最長(zhǎng)數(shù)據(jù)氓奈。
? ?${變量名/舊的字符串/新的字符串}:將舊的字符串的第一個(gè)字符串替換為新的字符串。
? ?${變量名//舊的字符串/新的字符串}:將舊的字符串的全部字符串替換為新的字符串鼎天。
? ?變量刪除 使用unset命令刪除一個(gè)環(huán)境變量舀奶。例如
$ unset test
? ?使環(huán)境變量立即生效
$ source .zshrc
或者
$ . ./. zshrc
常用的文件搜索命令有:whereis, which,find,locate。
? ?whereis簡(jiǎn)單快速
? ?whereis直接從數(shù)據(jù)庫(kù)中查詢斋射,并不是從硬盤中依次查找育勺。whereis只能搜索二進(jìn)制文件(-b),man幫助文件(-m)和源代碼文件(-s)罗岖。
? ?locate快而全
? ?通過(guò)"/var/lib/mlocate/mlocate.db"數(shù)據(jù)庫(kù)查找怀大,系統(tǒng)會(huì)使用定時(shí)任務(wù)每天自動(dòng)執(zhí)行updatedb命令更新一次該數(shù)據(jù)庫(kù),有時(shí)需要手動(dòng)執(zhí)行一次updatedb命令將新文件添加進(jìn)數(shù)據(jù)庫(kù)呀闻。find命令可以用來(lái)查找指定目錄下的不同文件類型化借,可以通過(guò)遞歸子目錄進(jìn)行查找。例如查找/etc下的所有以sh開(kāi)頭的文件
locate /etc/sh
loate /home/shiyanlou/Code/*.txt