shell指令碼中一些特殊變數

2022-08-17 22:09:12 字數 443 閱讀 9943

在shell指令碼中,一些常見的特殊變數表示方式還是需要知道的

如下就是一些經常用到的特殊變數表示方法:

$0    當前指令碼名

$1 $2...    傳入指令碼or函式的引數(大於10需大括號括起來)

$#    傳入指令碼or函式的引數個數

$*     列印所有傳入引數

$@   列印所有傳入引數

當傳入引數有雙引號時,

$*是整體輸出,$@是每個引數輸出

$?    上個命令或者函式退出狀態

$$    當前shell指令碼程序id

$-     顯示shell使用的當前選項(傳遞給指令碼的flag),與set命令功能相同

$!     在後台執行的最後工作的pid

$_    儲存之前執行的命令的最後乙個引數

$uid   列印當前使用者的uid,root uid為0

Shell中一些特殊的變數

0 獲取當前執行shell的指令碼名。n獲取當前shell第n個引數,當大於9時,則用花括號括起來,例如 接的引數一空格隔開 獲取當前執行shell指令碼後面接的引數的個數 獲取當前shell指令碼所有傳參的引數。不加引號和 相同 如果加 上引號,如 相同。如果加上引號,如 相同。如果 加上引號 如...

shell指令碼中一些特殊符號

1 大括號 用法一 萬用字元擴充套件 eg ls my s 這條命令相當於如下命令的組合 ls my fingers my toes eg mkdir 我們將得到 usera home,usera bin,usera data,userb home,userb bin,userb data,user...

shell指令碼中一些特殊符號

1 大括號 用法一 萬用字元擴充套件 eg ls my s 這條命令相當於如下命令的組合 ls my fingers my toes eg mkdir 我們將得到 usera home,usera bin,usera data,userb home,userb bin,userb data,user...