Shell腳本中$0、$?、$!等的意義

發(fā)布時間:2024-03-14
在閱讀別人shell腳本的時候,我們可能會看到類似$0這些變量符號。那么他們是什么意思呢?
變量說明
$$
shell本身的pid(processid)
$!
shell最后運行的后臺process的pid
$?
最后運行的命令的結(jié)束代碼(返回值)
$-
使用set命令設(shè)定的flag一覽
$*
所有參數(shù)列表。如”$*”用「”」括起來的情況、以”$1 $2 … $n”的形式輸出所有參數(shù)。
$@
所有參數(shù)列表。如”$@”用「”」括起來的情況、以”$1″ “$2” … “$n” 的形式輸出所有參數(shù)。
$#
添加到shell的參數(shù)個數(shù)
$0
shell本身的文件名
$1~$n
添加到shell的各參數(shù)值。$1是第1參數(shù)、$2是第2參數(shù)…。
腳本舉例
我們先寫一個簡單的腳本,執(zhí)行以后再解釋各個變量的意義
# touch variable
# vi variable
腳本內(nèi)容如下:
#!/bin/sh
echo “number:$#”
echo “scname:$0”
echo “first :$1”
echo “second:$2”
echo “argume:$@”
保存退出
賦予腳本執(zhí)行權(quán)限
# chmod x variable
執(zhí)行腳本
# ./variable aa bb
number:2
scname:./variable
first: aa
second:bb
argume:aa bb
結(jié)果分析
通過顯示結(jié)果可以看到:
$# 是傳給腳本的參數(shù)個數(shù)
$0 是腳本本身的名字
$1是傳遞給該shell腳本的第一個參數(shù)
$2是傳遞給該shell腳本的第二個參數(shù)
$@ 是傳給腳本的所有參數(shù)的列表
上一個:熱敏電阻的分類參數(shù)及應(yīng)用
下一個:如何正確選擇濕度與露點測量儀表

路由器顯示注冊是什么意思啊(路由器顯示注冊是什么意思呀)
同步發(fā)電機(jī)并網(wǎng)運行時無功功率的調(diào)節(jié)
桉樹種植種植技術(shù)
可不可以用手機(jī)控制電腦(手機(jī)可以用電腦控制嗎)
路由器多久換一次合適(路由器多久換一次ip)
設(shè)立企業(yè)集團(tuán)公司規(guī)定條件是什么
十四歲以下負(fù)刑事責(zé)任嗎?
電腦玩的飛行游戲(電腦飛行類游戲排行榜)
編碼器的未來發(fā)展趨勢
教師節(jié)昆山市城市生態(tài)森林公園活動
十八禁 网站在线观看免费视频_2020av天堂网_一 级 黄 色 片免费网站_绝顶高潮合集Videos