《LINUX入門:Shell 特殊變量淺識》要點:
本文介紹了LINUX入門:Shell 特殊變量淺識,希望對您有用。如果有疑問,可以聯(lián)系我們。
地位變量
$0? 獲取當(dāng)前執(zhí)行的shell腳本的文件名,如果執(zhí)行腳本帶路徑那么就包含腳本路徑
[root@linuxidc shell]# sh n.sh?
n.sh
?
[root@linuxidc ~]# sh /shell/n.sh?
/shell/n.sh
?
[root@linuxidc shell]# sh `pwd`/n.sh
/shell/n.sh
$n? 獲取當(dāng)前執(zhí)行的shell腳本的第n個參數(shù)值,n=1..9,當(dāng)n為0時表現(xiàn)腳本的文件名,如果n大于0,大括號括起來${10}
腳本內(nèi)容:
#!/bin/bash
echo $1
?
[root@linuxidc shell]# sh p.sh linuxidc? ? #1個參數(shù)
linuxidc? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
?
[root@linuxidc shell]# sh p.sh linuxidc cainiao? ? #2個參數(shù)輸出的是第一個參數(shù)
linuxidc
$*? 獲取當(dāng)前shell的所有參數(shù),將所有的敕令行參數(shù)視為單個字符串,相當(dāng)于"$1$2$3".....注意與$#的區(qū)域
$#? 獲取當(dāng)前執(zhí)行的shell劇本后面接的參數(shù)的總個數(shù)
[root@linuxidc shell]# cat p.sh?
echo $1
echo $#
[root@linuxidc shell]# sh p.sh {a..z}
a
26
?
企業(yè)應(yīng)用:(控制用戶參數(shù)輸入的個數(shù))當(dāng)輸入?yún)?shù)不即是2成立輸出“muse two”,側(cè)不成立會輸出"buchengli"
[root@linuxidc shell]# cat 1p.sh?
#!/bin/bash
[ $# -ne 2 ] && {
echo "muse two"
exit 1? ? ? ? ? #值1是退出后$? 的值
}
echo "buchengli"
[root@linuxidc shell]# sh 1p.sh bai
muse two
[root@linuxidc shell]# sh 1p.sh bai shu
buchengli
[root@linuxidc shell]#
$@? 這個程序的所有參數(shù)"$1" "$2" "$3" "...",這是將參數(shù)傳遞給其他程序的最佳方式,因為他會保存內(nèi)嵌在每個參數(shù)里的任何空白.
$*和$@的區(qū)別例子
$*? 將所有的敕令行所有參數(shù)視為單個字符串,等同于"$1$2$3","$*"
$@? 將命令行每個參數(shù)視為單獨的字符串,等同于"$1" "$2" "$3".這是將參數(shù)傳遞給其他程序的最近方式,因為他會保存所有內(nèi)嵌在每個參數(shù)里的任何空白.
注意:上述區(qū)別僅在于加雙引號的時刻,即"$*"與"$@"
shift? 移動地位變量
2.進(jìn)程狀態(tài)變量
$$? ? 獲取當(dāng)前shell的進(jìn)程號
$!? ? 執(zhí)行上一個指令的PID
$?? ? 獲取執(zhí)行上一個指令的返回值(0為勝利,非零為失敗)#這個變量很常用
$_? ? ? 在此之前執(zhí)行的命令或腳本的最后一個參數(shù)
本文永遠(yuǎn)更新鏈接地址:
《LINUX入門:Shell 特殊變量淺識》是否對您有啟發(fā),歡迎查看更多與《LINUX入門:Shell 特殊變量淺識》相關(guān)教程,學(xué)精學(xué)透。維易PHP學(xué)院為您提供精彩教程。
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.snjht.com/jiaocheng/11317.html