真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

shell傳參-創(chuàng)新互聯(lián)

大家都知道普通的bash命令后邊可以跟任意的參數(shù),那我們自己編寫(xiě)的腳本是否也支持傳遞參數(shù)呢?答案當(dāng)然是肯定的

成都地區(qū)優(yōu)秀IDC服務(wù)器托管提供商(成都創(chuàng)新互聯(lián)).為客戶提供專業(yè)的棕樹(shù)數(shù)據(jù)中心,四川各地服務(wù)器托管,棕樹(shù)數(shù)據(jù)中心、多線服務(wù)器托管.托管咨詢專線:13518219792

執(zhí)行“vim test.sh”創(chuàng)建一個(gè)新的shell腳本。腳本test.sh的內(nèi)容如下:

#!/bin/sh

name=$1

echo "the ${name} are great man!"

給新創(chuàng)建的test.sh的腳本賦可執(zhí)行權(quán)限,命令為“chmod +x test.sh”

執(zhí)行'./test.sh "xiao wang" '命令,可以看到自己編寫(xiě)腳本的結(jié)果“the xiao wang are great man!”

"name=$1"中$1為系統(tǒng)提供的位置參數(shù),$0代表程序的名稱(./test.sh),[$1 $2...]從1開(kāi)始為傳遞的參數(shù)。linux系統(tǒng)除了提供位置參數(shù)還提供內(nèi)置參數(shù),所有內(nèi)置參數(shù)如下: 

$0 ----當(dāng)前腳本文件名

$n ----傳遞給腳本或函數(shù)的參數(shù),n是一個(gè)數(shù)字,表示第幾個(gè)參數(shù),$1表示第一個(gè)參數(shù),$2表示第二個(gè)參數(shù) ...

$# ----傳遞給腳本或函數(shù)的參數(shù)個(gè)數(shù)

$* ----傳遞給腳本或函數(shù)的所有參數(shù),當(dāng)它被雙引號(hào)(" ")包含時(shí),"$*" 會(huì)將所有的參數(shù)作為一個(gè)整體,以"$1 $2 ... $n"的形式輸出所有參數(shù)

$@ ----傳遞給腳本或函數(shù)的所有參數(shù),當(dāng)它被雙引號(hào)(" ")包含時(shí),與$*稍有不同,"$@" 會(huì)將各個(gè)參數(shù)分開(kāi),以"$1" "$2" … "$n" 的形式輸出所有參數(shù)

$* 和$@不被雙引號(hào)(" ")包含時(shí),都以"$1" "$2" … "$n" 的形式輸出所有參數(shù)

下面寫(xiě)個(gè)小程序?qū)嵺`一下$* 和$@

$? ----上一個(gè)命令的退出狀態(tài),或函數(shù)的返回值,如果正常退出則返回0,反之為非0值

$$ ----當(dāng)前shell進(jìn)程pid,對(duì)于shell腳本,就是這些腳本所在的進(jìn)程ID

$! ----上一個(gè)命令的pid

新建test.sh chmod +x test.sh 執(zhí)行./test.sh "a" "b" "c" "d",觀察打印結(jié)果
#!/bin/bash
echo "\$*=" $*
echo "\$@=" $@
echo "print each param from \$*"
for var in $*
do
    echo $var
done
echo "print each param from \$@"
for var in $@
do
    echo $var
done
echo "print each param from \"\$*\""
for var in "$*"
do
    echo $var
done
echo "print each param from \"\$@\""
for var in "$@"
do
    echo $var

done

打印結(jié)果:
$*= a b c d
$@= a b c d
print each param from $*
a
b
c
d
print each param from $@
a
b
c
d
print each param from "$*"
a b c d
print each param from "$@"
a
b
c
d
分享題目:shell傳參-創(chuàng)新互聯(lián)
網(wǎng)站地址:http://weahome.cn/article/dpiied.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部