shell 常用命令

2021-09-03 08:14:48 字數 1977 閱讀 3425

變數

含義$0當前指令碼的檔名

$n傳遞給指令碼或函式的引數. n 是乙個數字, 表示第幾個引數. 例如, 第乙個引數是$1, 第二個引數是$2.

$#傳遞給指令碼或函式的引數個數.

$*傳遞給指令碼或函式的所有引數.

$@傳遞給指令碼或函式的所有引數. 被雙引號(" ")包含時, 與 $* 稍有不同, 下面將會講到.

$?上個命令的退出狀態, 或函式的返回值.

$$當前shell程序id. 對於 shell 指令碼, 就是這些指令碼所在的程序id.

if  condition ;

then

else

或elif condition;

then

fi

command

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目錄不會變

for i in $(seq 1 10)

do echo $i

done

輸出5位, 不夠補0

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