執行 shell 指令碼檔案時我們可以給它傳遞一些引數,這些引數在指令碼檔案內部可以使用$n的形式來接收,例如,$1 表示第乙個引數,$2 表示第二個引數,依次類推
在講解變數的命名時,我們提到:變數的名字必須以字母或者下劃線開頭,不能以數字開頭;但是位置引數卻偏偏是數字,這和變數的命名規則是相悖的,所以我們將它們視為「特殊變數」。
除了 $n,shell 中還有 $# 、$* 、$@ 、$?、$$ 幾個特殊引數
請編寫下面的**,並命名為 test.sh:
$ ./a.sh shell#!/bin/bash
echo "language: $1"
echo "url: $2"
執行結果:
language: shell
url:
shell 特殊變數及其含義 變數#!/bin/bash
#定義函式
function func()
#呼叫函式
func c++
含義$0
當前指令碼的檔名。
$n(n≥1)
傳遞給指令碼或函式的引數。n 是乙個數字,表示第幾個引數。例如,第乙個引數是 $1,第二個引數是 $2。
$#傳遞給指令碼或函式的引數個數。
$*傳遞給指令碼或函式的所有引數。
$@傳遞給指令碼或函式的所有引數。當被雙引號" "
包含時,$@ 與 $* 稍有不同,我們將在《shell $*和$@的區別》一節中詳細講解。
$?上個命令的退出狀態,或函式的返回值,我們將在《shell $?》一節中詳細講解。
$$當前 shell 程序 id。對於 shell 指令碼,就是這些指令碼所在的程序 id。
正規表示式總結(三) 位置
一句話 只斷言 判斷 位置,不去匹配,只定位就像 exp exp2 exp3 匹配以exp開始,以exp3結束的exp2部份。比如 b w ing b 匹配以ing結尾的單詞的前面部分 除了ing以外的部分 零寬斷言 何為斷言 斷言某個位置會出現,或不會出現某個模式,但不去匹配這個模式。當斷言不成功...
PID控制(三)(位置式和增量式PID)
公式 pwm kpe k ki e k kd e k e k 1 公式內容分析 e k 本次偏差 e k 偏差的積累 e k 1 上一次偏差 kp 比例係數 ki 積分係數 kd 微分係數 位置式pid,通俗易懂就是控制系統位置的,而位置式pid的輸出也是同樣是時時根據你的實際位置輸出的量,也就是說...
Shell基礎 六 位置引數及case分支
標記 0 指令碼檔案絕對路勁 1 9 小於10位置引數標記 大於10的位置引數標記 引數總數 展開成乙個從 1 開始的位置引數列表。當它被用雙引號引 起來的時候,展開成乙個由雙引號引起來的字串,包含了 所有的位置引數,每個位置引數由 shell 變數 ifs 的第乙個 字元 預設為乙個空格 分隔開。...