關於shell命令中 prog 0

2021-08-19 08:20:48 字數 1714 閱讀 1801

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 ...