Bash Shell學習筆記一

2021-05-11 13:27:35 字數 1488 閱讀 8959

1.

在linux中執行指令碼檔案時 以 ./執行的 或者普通方式(輸入檔名)執行時是啟動子shell執行的,所以,一切環境變數設定在推出後失效

因此在指令碼中設定$path將失效,如果一定要以指令碼方式來設定,需要 .+空格+檔名或者 source 指令碼檔案的形式執行.

2.linux中的" " 和 ' ',雙引號和單引號的區別是,單引號比雙引號要嚴格,雙引號會自動解釋$開始的變數,而單引號不會.

3.linux中將命令執行的結果作為變數可以使用

$(***)或者'***`,這裡'是鍵盤左上角tab上面的引號

4.從字串頭截去字元

$ -----從左邊開始搜尋string變數截去最後乙個碰到的xx字元之前的所有內容後剩下的字元

如:string=asfadfasd

$=asd

$--------從左邊開始搜尋string變數截去第乙個碰到的xx字元之前的所有內容後剩下的字元

如:string=asfadfasd

$=adfasd

5.從字串尾部截去字元

$ -----從右邊開始搜尋string變數截去最後乙個碰到的xx字元之後的所有內容後剩下的字元

$ -----從右邊開始搜尋string變數截去第乙個碰到的xx字元之後的所有內容後剩下的字元

如:string=asfadfasd

$=as

$=asfad

6.從字串中去除指定的字元或字串,替換字串中指定的字元或字串

$ ----將string變數中第乙個出現的str1替換為str2

$----將string變數中所有出現的str1替換為str2

如:$ = linscngfeiye

$=linscngsciye

7.提取字串

$---提取string變數中從position開始的length個字元(注意下標從0開始)

$--提取string變數中從position開始到末尾的字元

8.eval關鍵字使用:取變數的值所對應的變數值

已知:aaa1=test,a=aaa,b=1

取test

tmp=$a$b

eval t="$"$tmp

echo $t

9.測試變數字串長度是否為0(是否為空)

if [ -z $var ] 或者 if [ ! -n $var ]

如:var=""

if [ -z $var ]

then

echo 1

else

echo 2

fi得到 1,為空

10.檔案測試選項 (下面都是對應了取真值的例子)

if [ -d $file ] --存在並且是目錄

if [ -x $file ] --存在並且可執行

if [ -e $file ] 或者 if [-a $file] --存在

if [ -r $file ] --存在並且可讀

if [ -w $file ] --存在並且可寫

Bash Shell學習筆記四

set commond 將位置引數設定為後面的命令輸出 shell命令中 在 後面的語句將會不再解釋後面的 cal 萬年曆 bc 計算器 histsize 歷史大小 random 隨機數 basename pathname 去除路徑字首的最後部分 空變數 1 1 沒有賦值或申明的變數 1 1 字元變...

linux 學習筆記四 bash shell

type 查詢命令是否為bash 內建命名 變數的設定規則 myname ceshi 變數與變數內容用 連線 變數名稱可以是數字英文本母,但是不能以數字開頭。內容如果有空白可以用單引號 或者雙引號 但是單引號只能作為一般字元也就是文字顯示,雙引號可以引用變數。變數的增加 名稱 增加內容,或者 內容 ...

Bash shell 學習筆記 PS命令

ps命令能夠給出當前系統中程序的快照。它能捕獲系統在某一事件的程序狀態。如果你想不斷更新檢視的這個狀態,可以使用top命令。通過cpu和記憶體使用來過濾程序 根據 cpu 使用來公升序排序 ps aux sort pcpu less 根據 記憶體 使用來公升序排序 ps aux sort pmem ...