您好,登錄后才能下訂單哦!
這篇文章主要介紹“Shell特殊變量Shell $#、$*、$@、$?、$用法是什么”,在日常操作中,相信很多人在Shell特殊變量Shell $#、$*、$@、$?、$用法是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Shell特殊變量Shell $#、$*、$@、$?、$用法是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
上節我們講到了 $n,它是特殊變量的一種,用來接收位置參數。本節我們繼續講解剩下的幾個特殊變量,它們分別是:$#、$*、$@、$?、$$。
Shell 特殊變量及其含義
變量 | 含義 |
---|---|
$0 | 當前腳本的文件名。 |
$n(n≥1) | 傳遞給腳本或函數的參數。n 是一個數字,表示第幾個參數。例如,第一個參數是 $1,第二個參數是 $2。 |
$# | 傳遞給腳本或函數的參數個數。 |
$* | 傳遞給腳本或函數的所有參數。 |
$@ | 傳遞給腳本或函數的所有參數。當被雙引號" "包含時,$@ 與 $* 稍有不同,我們將在《Shell $*和$@的區別》一節中詳細講解。 |
$? | 上個命令的退出狀態,或函數的返回值,我們將在《Shell $?》一節中詳細講解。 |
$$ | 當前 Shell 進程 ID。對于 Shell 腳本,就是這些腳本所在的進程 ID。 |
下面我們通過兩個例子來演示。
1) 給腳本文件傳遞參數
編寫下面的代碼,并保存為 test.sh:
#!/bin/bash echo "Process ID: $$" echo "File Name: $0" echo "First Parameter : $1" echo "Second Parameter : $2" echo "All parameters 1: $@" echo "All parameters 2: $*" echo "Total: $#"
運行 test.sh,并附帶參數:
[mozhiyan@localhost demo]$ . ./test.sh Shell Linux
Process ID: 5943
File Name: bash
First Parameter : Shell
Second Parameter : Linux
All parameters 1: Shell Linux
All parameters 2: Shell Linux
Total: 2
2) 給函數傳遞參數
編寫下面的代碼,并保存為 test.sh:
#!/bin/bash #定義函數 function func(){ echo "Language: $1" echo "URL: $2" echo "First Parameter : $1" echo "Second Parameter : $2" echo "All parameters 1: $@" echo "All parameters 2: $*" echo "Total: $#" } #調用函數 func Java http://c.biancheng.net/java/
運行結果為:
Language: Java
URL: http://c.biancheng.net/java/
First Parameter : Java
Second Parameter : http://c.biancheng.net/java/
All parameters 1: Java http://c.biancheng.net/java/
All parameters 2: Java http://c.biancheng.net/java/
Total: 2
到此,關于“Shell特殊變量Shell $#、$*、$@、$?、$用法是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。