prog=$
表示該shell的引數$0,也就是該shell命令的具體路徑值。通過
1. ## 表示 去除$0以/為分隔符的頭部字串,
2. ** 表示去除$0的尾部字串,
而如何確定去除到什麼位置為止呢,截止符如何匹配呢? 通過*號表示 通配字元,」/「為匹配目標。 則有*/和/*的字元匹配方法。
#!/bin/sh
prog=$
prog1=$
echo $prog $prog1
$prog輸出具體路徑,即/tmp/email.sh
$prog1輸出 ail.sh,在該例子中,你也可以匹配其他 字元。
值得一提的是, ## 表示匹配到最後乙個字元的位置,即 截止到最後乙個匹配字元結束。
# 表示匹配到第乙個字元時,即截止到第乙個匹配字元結束。
linux 的字串擷取很有用。有八種方法。
假設有變數 var=
1 . # 號擷取,刪除左邊字元,保留右邊字元。
複製** **如下:
echo $
其中 var 是變數名,# 號是運算子,*// 表示從左邊開始刪除第乙個 // 號及左邊的所有字元,即刪除 http://
結果是 :www.aaa.com/123.htm
2 . ## 號擷取
複製** **如下:
echo $
##*/ 表示從右邊開始刪除第乙個 / 號及左邊的所有字元,即刪除
結果是 123.htm
3 . %號擷取,刪除右邊字元,保留左邊字元
複製** **如下:
echo $
%/* 表示從右邊開始,刪除第乙個 / 號及右邊的字元
結果是:
4 . %% 號擷取,刪除右邊字元,保留左邊字元
複製** **如下:
echo $
%%/* 表示左邊開始,刪除第乙個 / 號及右邊的字元
結果是:http:
5 . 從左邊第幾個字元開始,及字元的個數
複製** **如下:
echo $
其中的 0 表示左邊第乙個字元開始,5 表示字元的總個數。
結果是:http:
6 . 從左邊第幾個字元開始,一直到結束。
複製** **如下:
echo $
其中的 7 表示左邊第8個字元開始,一直到結束。
結果是 :www.aaa.com/123.htm
7 . 從右邊第幾個字元開始,及字元的個數
複製** **如下:
echo $
其中的 0-7 表示右邊算起第七個字元開始,3 表示字元的個數。
結果是:123
8 . 從右邊第幾個字元開始,一直到結束。
複製** **如下:
echo $
表示從右邊第七個字元開始,一直到結束。
結果是:123.htm
注:左邊的第乙個字元是用 0 表示,右邊的第乙個字元用 0-1 表示
shell中 0, 等的用法
表示傳遞給指令碼的個數 0 指令碼本身的名稱 當前shell的程序號 上乙個子程序的程序號 所有引數列表。如 用 括起來的情況 以 1 2 n 的形式輸出 所有引數。所有引數列表。如 用 括起來的情 況 以 1 2 n 的形式輸出所有引數。顯示最後命令的退出狀態,0 表示沒有錯誤 其它表示有錯誤 1...
Shell指令碼中 0, , 等含義
shell本身的pid processid shell最後執行的後台process的pid 最後執行的命令的結束 返回值 使用set命令設定的flag一覽 所有引數列表。如 用 括起來的情況 以 1 2 n 的形式輸出所有引數。所有引數列表。如 用 括起來的情況 以 1 2 n 的形式輸出所有引數。...
關於shell命令列
shell 是乙個用 c 語言編寫的程式,它是使用者使用 linux 的橋梁。shell 既是一種命令語言,又是一種程式語言。其中bash一般為linux預設的shell命令列 約定的標記告訴系統這個指令碼需要什麼直譯器來執行 eg.1 bin bash echo hello world eg.2 ...