Shell之傳遞引數

2021-10-08 05:34:09 字數 1799 閱讀 3819

注:此部落格使用的是bash shell

在執行 shell 指令碼時,可以向指令碼傳遞引數。

#!/bin/bash

echo

"this is a test code!"

echo

"input parameter"

echo

"file name is $"

#$0表示本檔案名字

echo

"my name is $"

#$1-4表示需要傳入的引數1-4,

echo

"my computer is $"

#並且只能用1,2,3...n表示表示

echo

"my age is $ years old"

echo

"my phone number is $"

echo

"傳入該指令碼的引數個數為:$#"

echo

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

echo

"以多個字串顯示所有向指令碼傳遞的引數:$@"

echo

"指令碼執行的當前指令碼id號:$$"

echo

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

echo

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

echo

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

輸出:

cjs@cjs:

~$ vim obj.sh

cjs@cjs:

~$ chmod +x .

/obj.sh

cjs@cjs:

~$ .

/obj.sh "ueueq"

"msi"

25188888888

this is a test code!

input parameter

file name is .

/obj.sh

my name is ueueq

my computer is msi

my age is 25 years old

my phone number is 188888888

傳入該指令碼的引數個數為:4

以單個字串顯示所有向指令碼傳遞的引數:ueueq msi 25

188888888

以多個字串顯示所有向指令碼傳遞的引數:ueueq msi 25

188888888

指令碼執行的當前指令碼id號:

40507

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

顯示shell使用的當前選項,與set命令功能相同:hb

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

$ 與 $@ 區別

#!/bin/bash

echo

"-- \$* 演示 ---"

for i in

"$*";do

echo

$idone

echo

"-- \$@ 演示 ---"

for i in

"$@";do

echo

$idone

輸出:

$ chmod +x test.sh 

$ ./obj.sh 123

-- $* 演示 ---1

23-- $@ 演示 ---1

23

Shell學習之傳遞引數

shell 傳遞引數 我們可以在執行 shell 指令碼時,向指令碼傳遞引數,指令碼內獲取引數的格式為 n。n 代表乙個數字,1 為執行指令碼的第乙個引數,2 為執行指令碼的第二個引數,以此類推 例項以下例項我們向指令碼傳遞三個引數,並分別輸出,其中 0 為執行的檔名 bin bash author...

shell引數傳遞

1.位置變數引數即可傳入到指令碼的引數,最多可以訪問 9個,比如 sh a b c d 其中 0 是指令碼名字 1 是第乙個引數 a以此類推 2.特殊參量 傳遞到指令碼的引數個數 以乙個單字串顯示所有向指令碼傳遞的引數。與位置變數不同,可以超過9個 指令碼執行的當前id 後台執行的最後乙個程序的程序...

Shell 傳遞引數

在執行 shell 指令碼時,向指令碼傳遞引數,指令碼內獲取引數的格式為 n。n代表一 個數字,1為執行 指令碼的第 乙個引數 2為執 行指令碼的 第二個參 數,以此 類推 例項以下 例項我們 向指令碼傳 遞三個參 數,並分 別輸出,其中0 為執行的檔名 bin bash echo shell 傳遞...