Linux Shell 三 之 引數傳遞

2022-03-26 03:12:55 字數 995 閱讀 2242

我們可以在執行 shell 指令碼時,向指令碼傳遞引數,指令碼內獲取引數的格式為:$nn代表乙個數字,1 為執行指令碼的第乙個引數,2 為執行指令碼的第二個引數,以此類推……

以下例項我們向指令碼傳遞三個引數,並分別輸出,其中$0為執行的檔名:

為指令碼設定可執行許可權,並執行指令碼,輸出結果如下所示:

#!/bin/bash

echo

"第乙個引數是$

"echo

"第二個引數是$

"

另外,還有幾個特殊字元用來處理引數:

引數處理

說明$#

傳遞到指令碼的引數個數

$*以乙個單字串顯示所有向指令碼傳遞的引數。

如"$*"用「"」括起來的情況、以"$1 $2 … $n"的形式輸出所有引數。

$$指令碼執行的當前程序id號

$!後台執行的最後乙個程序的id號

$@與$*相同,但是使用時加引號,並在引號中返回每個引數。

如"$@"用「"」括起來的情況、以"$1" "$2" … "$n" 的形式輸出所有引數。

$-顯示shell使用的當前選項,與set命令功能相同。

$?顯示最後命令的退出狀態。0表示沒有錯誤,其他任何值表明有錯誤。

#!/bin/bash

echo

"第乙個引數是$

"echo

"第二個引數是$

"echo

"合併輸出$*

"echo

"全部輸出$@

"echo

"引數的個數是$#

"

執行指令碼,輸出結果如下所示:

$* 與 $@ 區別:

linux shell 引數傳遞

在shell程式設計時.可以使用引數。shell有位置引數和內部引數 1.位置引數 由系統提供的引數稱為位置引數。位置引數的值可以用 n得到,n是乙個數字,如果為1,即 1.類似c語言中的陣列,linux會把輸入的命令字串分段並給每段進行標號,標號從0開始。第0號為程式名字,從1開始就表示傳遞給程式...

linux shell 判斷引數

shell 程式設計中使用到得if語句內判斷引數 b 當file存在並且是塊檔案時返回真 c 當file存在並且是字元檔案時返回真 d 當pathname存在並且是乙個目錄時返回真 e 當pathname指定的檔案或目錄存在時返回真 f 當file存在並且是正規檔案時返回真 g 當由pathname...

Linux shell 引數展開

reminder time to go to the dentist 將值儲存在reminder中 sleep 120 等待兩分鐘 echo reminder 顯示資訊 替換運算子 運算子 替換 如果varname存在且非null,返回其值 否則,返回word。用途 如果變數未定義,則返回預設值。範...