$0 $# $n-->$[1..9] $* $@
1、在shell中存在著一些特殊而又重要的變?nèi)纾?1 $0 $#,我們稱為特殊的位置變量要從命令行,函數(shù),腳本,等傳遞參數(shù)時,就需要在shell腳本中使用位置參數(shù)變量
總結(jié):$*和$@不加雙引號 是沒有任何區(qū)別的,有雙引號兩者就有區(qū)別
1)$1 $2 特殊變量實戰(zhàn)
[root@yankerp src]# cat test.sh #查看腳本的內(nèi)容 #!/bin/bash echo $1 ---<定義了$1 [root@yankerp src]# source test.sh yankai #執(zhí)行的腳本的時候?qū)ankai賦值給腳本中的1 yankai #輸出yankai [root@yankerp src]#
例2:
[root@yankerp src]# cat test.sh #腳本內(nèi)容 #!/bin/bash echo $1 [root@yankerp src]# source test.sh zhangsan lisi #zhansgan lisi是兩個字符串以空格分割 zhangsan #只輸出了zhangsan,因為腳本中只定義了$1 [root@yankerp src]#
例3:
[root@yankerp src]# cat test.sh #查看腳本的內(nèi)容 #!/bin/bash echo $1 [root@yankerp src]# source test.sh "zhangsan lisi" #加雙引號表示一個字符串參數(shù) zhangsan lisi #最后輸出結(jié)果為zhangsan lisi [root@yankerp src]#
例4:在腳本中添加$1 $2測試:
[root@yankerp src]# cat test.sh #查看腳本的內(nèi)容 #!/bin/bash echo $1 $2 定義了$1 $2 [root@yankerp src]# source test.sh zhangsan lisi #在執(zhí)行腳本的時候定義了兩個字符串 zhangsan lisi #說明 zhangsan賦值給了$1 lisi賦值給了$2 輸出結(jié)果為 zhangsan lisi [root@yankerp src]#
同時也可以這樣加雙引號 如下:
[root@yankerp src]# cat test.sh #查看腳本的內(nèi)容 #!/bin/bash echo $1 $2 [root@yankerp src]# source test.sh "zhangsan lisi" yankai #""表示一個字符串 zhangsan lisi yankai #輸出結(jié)果 [root@yankerp src]#
2)當(dāng)我們一個個的輸入echo $1---15時會感覺很慢我們可以使用以下命令來接收命令傳遞的15個參數(shù)
[root@yankerp src]# echo /${1..15} $1 $2 $3 $4 $5 $6 $7 $8 $9 $10 $11 $12 $13 $14 $15 將輸出的內(nèi)容導(dǎo)入到test.sh文件中
[root@yankerp src]# echo /${1..15} > test.sh [root@yankerp src]# cat test.sh $1 $2 $3 $4 $5 $6 $7 $8 $9 $10 $11 $12 $13 $14 $15 [root@yankerp src]#
新聞熱點
疑難解答