摘要:在shell編程時.可以使用參數(shù)。Shell有位置參數(shù)和內(nèi)部參數(shù) 1. 位置參數(shù) 由系統(tǒng)提供的參數(shù)稱為位置參數(shù)。位置參數(shù)的值可以用$N得到,N是一個數(shù)字,如果為1,即$1.類似C語言中的數(shù)組,Linux會把輸入的命令字符串分段并給每段進(jìn)行標(biāo)號,標(biāo)號從0開始。第0號為程序名字,從1開始就表示傳遞給程序的參數(shù)。如$0表示程序的名字,$1表示傳遞給程序的第一個參數(shù),以此類推。 2.
在shell編程時.可以使用參數(shù)。Shell有位置參數(shù)和內(nèi)部參數(shù)
1. 位置參數(shù)
由系統(tǒng)提供的參數(shù)稱為位置參數(shù)。位置參數(shù)的值可以用$N得到,N是一個數(shù)字,如果為1,即$1.類似C語言中的數(shù)組,Linux會把輸入的命令字符串分段并給每段進(jìn)行標(biāo)號,標(biāo)號從0開始。第0號為程序名字,從1開始就表示傳遞給程序的參數(shù)。如$0表示程序的名字,$1表示傳遞給程序的第一個參數(shù),以此類推。
2. 內(nèi)部參數(shù)
上述過程中的$0是一個內(nèi)部變量,它是必須的,而$1則可有可無。和$0一樣的內(nèi)部變量還有以下幾個。
$# ----傳遞給程序的總的參數(shù)數(shù)目
$? ----上一個代碼或者shell程序在shell中退出的情況,如果正常退出則返回0,反之為非0值。
$* ----傳遞給程序的所有參數(shù)組成的字符串。
舉例說明:
[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 //第一個參數(shù)
Bhanv //第二個參數(shù)
0 //程序執(zhí)行結(jié)果
yema Bhanv edu network //傳遞參數(shù)所組成的字符串
4 //參數(shù)個數(shù)