Shell指令碼的引數傳遞

2021-07-31 03:34:07 字數 1087 閱讀 6985

在許多的情況下,shell指令碼都需要接受使用者的輸入,根據使用者的輸入引數來執行不同的操作。本節內容主要介紹shell指令碼的引數,以及如何在指令碼中接收引數。

從命令列傳遞給shell指令碼的引數又稱為位置引數,這主要是因為shell指令碼會根據引數的位置來接受它們的資料。在shell指令碼的內部,使用者可以通過一系列的系統變數來獲取引數。這些變數的名字都是固定的,並且簡單。下面列出了常用的與引數傳遞有關的系統變數。

變數名說明

$n表示傳遞給指令碼的第n個引數

$#命令列引數的個數

$0當前指令碼的名稱

$*以」引數1 引數2 引數3 …..」的形式返回所有的資料

$@以」引數1」 「引數2」「引數3」 …..」的形式返回所有的資料

$?儲存程式最後一條命令的退出狀態

注意:對於包含空白字元或者其他的特殊字元的引數,需要使用單引號或者雙引號進行傳遞。

#! /bin/bash

echo

" $# parameters "

echo

' $@ is'

"$@ "

echo

' $* is'

"$* "

echo

' parameters $0 is '

"$0"

echo

' parameters $1 is '

"$1"

echo

' parameters $2 is '

"$2"

3 parameters  

$@ is a b c

$* is a b c

parameters $0

is2.sh

parameters $1

is a

parameters $2

is b

[root@*

**]# echo $?

0

shell指令碼 函式傳遞引數

在乙個指令碼中,多個函式之間可能需要相互傳遞引數,之前一直對引數的傳遞以及引用有些疑問,今天做了幾個小測試例子 1 bin bash function f1 function f2 f1 1執行結果 temp2.sh pp mj ubuntu temp2.sh pp f1pp f2pp2 bin b...

shell指令碼read傳遞引數

1.用read獲取使用者的輸入 舉例 example.sh,檢視 cat example.sh bin bash this is a sample script file.accept user input for demonstration.使用read命令將使用者的輸入儲存到變數name中 ec...

Shell指令碼程式設計之Shell傳遞引數

1.我們可在執行指令碼的時候向指令碼傳遞引數,指令碼內獲取引數的格式為 n,n代表乙個數字,1為執行指令碼的第乙個引數,2為執行指令碼的第二個引數,以此類推 授權後執行,結果如下 2.處理引數的方法 傳遞到指令碼的引數個數 以乙個單字串顯示所有向指令碼傳遞的引數 指令碼執行的當前程序id號 後台執行...