變數
含義$0
當前指令碼的檔名
$n
傳遞給指令碼或函式的引數. n 是乙個數字, 表示第幾個引數. 例如, 第乙個引數是$1, 第二個引數是$2.
$#
傳遞給指令碼或函式的引數個數.
$*
傳遞給指令碼或函式的所有引數.
$@
傳遞給指令碼或函式的所有引數. 被雙引號(" ")包含時, 與 $* 稍有不同, 下面將會講到.
$?
上個命令的退出狀態, 或函式的返回值.
$$
當前shell程序id. 對於 shell 指令碼, 就是這些指令碼所在的程序id.
commandif condition ;
then
else
或elif condition;
then
fi
description
-eq
等於
-ne
不等於
-gt
大於
-lt
小於
-ge
大於等於
-le
小於等於
command
description
[ -f $var ]
變數$var
是乙個正常的檔案路徑或檔名 (file), 則返回真
[ -x $var ]
變數$var
包含的檔案可執行(execute), 則返回真
[ -d $var ]
變數$var
包含的檔案是目錄(directory), 則返回真
[ -e $var ]
變數$var
包含的檔案存在(exist), 則返回真
[ -c $var ]
變數$var
包含的檔案是乙個字元裝置檔案的路徑 (character), 則返回真
[ -b $var ]
變數$var
包含的檔案是乙個塊裝置檔案的路徑 (block), 則返回真
[ -w $var ]
變數$var
包含的檔案可寫(write), 則返回真
[ -r $var ]
變數$var
包含的檔案可讀(read), 則返回真
[ -l $var ]
變數$var
包含是乙個符號鏈結(link), 則返回真
-l
統計行數
-c
統計位元組數
-w
統計字數
-f
從檔案讀取pattern
-f
-l
列出匹配的檔名
-l
列出不匹配的檔名
-v
反向選擇, 可以用作搜尋不包含
二者達到的功能一樣, 不同的地方在於
source
直接執行.sh檔案
sh
新起乙個子程式來執行.sh檔案
如果在.sh中切換目錄的話, source執行完當前目錄會變到新目錄, 而sh目錄不會變
輸出5位, 不夠補0for i in $(seq 1 10)
do echo $i
done
printf "05d\n" 123
>> 00123
echo 123 | awk ''
shell 常用命令
shell 程式設計中使用到得if語句內判斷引數 b 當file存在並且是塊檔案時返回真 c 當file存在並且是字元檔案時返回真 d 當pathname存在並且是乙個目錄時返回真 e 當pathname指定的檔案或目錄存在時返回真 f 當file存在並且是正規檔案時返回真 g 當由pathname...
shell常用命令
1.echo echo 用於輸出,相當於c語言中的printf 用echo輸出變數的值,需要在變數前面加 輸出a的值 a 1echo a shell中變數不需要定義,直接賦值 要用到變數時,需要加 2.管道 命令之間的輸入。將乙個命令的輸出作為另乙個命令的輸入。管道相當於一種過濾功能。3.grep ...
Shell常用命令
shell常用命令總結 1 ls命令 列出檔案 ls la 列出當前目錄下的所有檔案和資料夾 ls a 列出當前目錄下所有以 a字母開頭的檔案 ls l txt 列出當前目錄下所有字尾名為 txt的檔案 2 cp命令 複製 cp a.txt b.txt 把檔案 a的內容複製到b檔案 cp a.txt...