shell 中變數操作的介紹

2021-09-29 09:12:40 字數 764 閱讀 3070

介紹下shell中的${}、##和%%使用範例,本文給出了不同情況下得到的結果。

假設定義了乙個變數為:

**如下:

file=/dir1/dir2/dir3/my.file.txt

可以用$分別替換得到不同的值:

$:刪掉第乙個 / 及其左邊的字串:dir1/dir2/dir3/my.file.txt

$:刪掉最後乙個 / 及其左邊的字串:my.file.txt

$:刪掉第乙個 . 及其左邊的字串:file.txt

$:刪掉最後乙個 . 及其左邊的字串:txt

$:刪掉最後乙個 / 及其右邊的字串:/dir1/dir2/dir3

$:刪掉第乙個 / 及其右邊的字串:(空值)

$:刪掉最後乙個 . 及其右邊的字串:/dir1/dir2/dir3/my.file

$:刪掉第乙個 . 及其右邊的字串:/dir1/dir2/dir3/my

記憶的方法為:

# 是 去掉左邊(鍵盤上#在 $ 的左邊)

%是去掉右邊(鍵盤上% 在$ 的右邊)

單一符號是最小匹配;兩個符號是最大匹配

$:提取最左邊的 5 個位元組:/dir1

$:提取第 5 個位元組右邊的連續5個位元組:/dir2

也可以對變數值裡的字串作替換:

$:將第乙個dir 替換為path:/path1/dir2/dir3/my.file.txt

$:將全部dir 替換為 path:/path1/path2/path3/my.file.txt

shell指令碼中的變數介紹

命令無法操作一直變換的目標 用一串固定的字元來表示不固定的目標可以解決此問題 root loo a date root loo echo a sun may 3 00 30 47 edt 2020 1.環境級別 export a 1,環境關閉後變數失效 root loo vim file.sh ro...

Shell中變數擴充套件操作

假設我們定義了乙個變數為 file dir1 dir2 dir3 my.file.txt 可以用 分別替換得到不同的值 刪掉第乙個 及其左邊的字串 dir1 dir2 dir3 my.file.txt 刪掉最後乙個 及其左邊的字串 my.file.txt 刪掉第乙個 及其左邊的字串 file.txt...

shell中的變數

只寫了部分常用變數 2018.5.14 環境變數 隨不同環境變化 user pwd path pid root 下 user root quguanwen下 user quguanwen 預定義變數 命令返回值檢視狀態 列出所有位置變數的值 一共載入多少位置變數 位置變數 1 2 3 x 執行指令碼...