linux shell 引數傳遞

2021-06-16 17:05:27 字數 782 閱讀 7591

在shell程式設計時.可以使用引數。shell有位置引數和內部引數

1. 位置引數

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

2. 內部引數

上述過程中的$0是乙個內部變數,它是必須的,而$1則可有可無。和$0一樣的內部變數還有以下幾個。

$# ----傳遞給程式的總的引數數目

$? ----上乙個**或者shell程式在shell中退出的情況,如果正常退出則返回0,反之為非0值。

$* ----傳遞給程式的所有引數組成的字串。

舉例說明:

[root@server tmp]# cat test.sh

#!/bin/bash

#test shell

echo $0

echo $1

echo $2

echo $?

echo $*

echo $#

[root@server tmp]# ./test.sh yema bhanv edu network

./test.sh //程式名稱

yema //第乙個引數

bhanv //第二個引數

0 //程式執行結果

yema bhanv edu network //傳遞引數所組成的字串

4 //引數個數

Linux shell傳遞引數

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

linux shell 傳遞引數

在執行shell指令碼時可以傳遞引數 指令碼獲取引數的格式為 0 1 2 其中 1 為傳遞的第乙個引數 而 0 接受的是.test.sh 這個東西 例 bin bash echo 1 0echo 2 1echo 3 2執行結果 注意 大家可以看到我執行時後面傳了兩個引數 11 22 但是接收時 0接...

Linux Shell 三 之 引數傳遞

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