shell 三 位置引數

2021-09-02 22:04:48 字數 881 閱讀 6065

執行 shell 指令碼檔案時我們可以給它傳遞一些引數,這些引數在指令碼檔案內部可以使用$n的形式來接收,例如,$1 表示第乙個引數,$2 表示第二個引數,依次類推

在講解變數的命名時,我們提到:變數的名字必須以字母或者下劃線開頭,不能以數字開頭;但是位置引數卻偏偏是數字,這和變數的命名規則是相悖的,所以我們將它們視為「特殊變數」。

除了 $n,shell 中還有 $# 、$* 、$@ 、$?、$$ 幾個特殊引數

請編寫下面的**,並命名為 test.sh:

#!/bin/bash

echo "language: $1"

echo "url: $2"

$ ./a.sh shell

執行結果:

language: shell

url:

#!/bin/bash

#定義函式

function func()

#呼叫函式

func c++

shell 特殊變數及其含義 變數

含義$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 的第乙個 字元 預設為乙個空格 分隔開。...