国产欧美日韩第一页|日本一二三不卡视频|在线精品小视频,亚洲第一免费播放区,metcn人体亚洲一区,亚洲精品午夜视频

幫助中心 >  技術知識庫 >  網站相關 >  建站知識 >  Linux中變量$#,$@,$0,$1,$2,$*,$$,$?的含義

Linux中變量$#,$@,$0,$1,$2,$*,$$,$?的含義

2016-11-30 20:04:46 3721

發(fā)現(xiàn)寫腳本的時候經常會傳一些參數(shù)進去,比如我們安裝腳本,輸入版本參數(shù)sh  nginx_install_sh   1.2.9   ,通過我們傳入的1.2.9我們腳本就可以單獨去下載1.2.9的安裝包。下邊針對這些常用的變量做一個簡單說明:

$# 是傳給腳本的參數(shù)個數(shù)
$0 是腳本本身的名字
$1 是傳遞給該shell腳本的第一個參數(shù)
$2 是傳遞給該shell腳本的第二個參數(shù)
$@ 是傳給腳本的所有參數(shù)的列表 (將參數(shù)列表單一輸出)
$* 是以一個單字符串顯示所有向腳本傳遞的參數(shù),與位置變量不同,參數(shù)可超過9個。(將參數(shù)列表整體輸出)
$$ 是腳本運行的當前進程ID號
$? 是顯示最后命令的退出狀態(tài),echo 0表示沒有錯誤,其他表示有錯誤
這里做一個寫一個腳本,大家看下輸出就都明白了:

[root@saltstack-node2 temp]# cat test.sh 
#!/bin/bash
echo "number:$#"
echo "scname:$0"
echo "first :$1"
echo "second:$2"
echo "argume:$@"
echo "show parm list:$*"
echo "show process id:$$"
echo "show precomm stat: $?"
 
[root@saltstack-node2 temp]# sh test.sh  
number:0
scname:test.sh
first :
second:
argume:
show parm list:
show process id:2698
show precomm stat: 0
 
[root@saltstack-node2 temp]# sh test.sh  123
number:1
scname:test.sh
first :123
second:
argume:123
show parm list:123
show process id:2699
show precomm stat: 0
 
[root@saltstack-node2 temp]# sh test.sh  123 456
number:2
scname:test.sh
first :123
second:456
argume:123 456
show parm list:123 456
show process id:2700
show precomm stat: 0
[root@saltstack-node2 temp]#


提交成功!非常感謝您的反饋,我們會繼續(xù)努力做到更好!

這條文檔是否有幫助解決問題?

非常抱歉未能幫助到您。為了給您提供更好的服務,我們很需要您進一步的反饋信息:

在文檔使用中是否遇到以下問題: