Shell指令碼中 0, , 等含義

2021-08-13 03:09:40 字數 920 閱讀 7528

$$

shell本身的pid(processid)

$!shell最後執行的後台process的pid

$?最後執行的命令的結束**(返回值)

$-使用set命令設定的flag一覽

$*所有引數列表。如"$*"用「"」括起來的情況、以"$1 $2 … $n"的形式輸出所有引數。

$@所有引數列表。如"$@"用「"」括起來的情況、以"$1" "$2" … "$n" 的形式輸出所有引數。

$#新增到shell的引數個數

$0shell本身的檔名

$1~$n

新增到shell的各引數值。$1是第1引數、$2是第2引數…。

指令碼舉例

我們先寫乙個簡單的指令碼,執行以後再解釋各個變數的意義

# touch variable

# vi variable

指令碼內容如下:

#!/bin/sh

echo "number:$#"

echo "scname:$0"

echo "first :$1"

echo "second:$2"

echo "argume:$@"

儲存退出

賦予指令碼執行許可權

# chmod +x variable

執行指令碼

# ./variable aa bb

number:2

scname:./variable

first: aa

second:bb

argume:aa bb

結果分析

通過顯示結果可以看到:

$# 是傳給指令碼的引數個數

$0 是指令碼本身的名字

$1是傳遞給該shell指令碼的第乙個引數

$2是傳遞給該shell指令碼的第二個引數

$@ 是傳給指令碼的所有引數的列表

shell指令碼中變數 0等的含義

0 這個程式的執行名字 n 這個程式的第n個引數值,n 1.9 這個程式的所有引數,此選項引數可超過9個。這個程式的引數個數 這個程式的pid 指令碼執行的當前程序id號 執行上乙個背景指令的pid 後台執行的最後乙個程序的程序id號 執行上乙個指令的返回值 顯示最後命令的退出狀態。0表示沒有錯誤,...

shell指令碼中 0 等特殊變數的含義

bin shecho echo 0 0 echo 1 1 echo 2 2 echo echo echo echo 儲存指令碼為 test.sh,來看下執行結果 從結果我們可以看出 傳給指令碼的引數個數 0 指令碼本身的名字 1 傳遞給該shell指令碼的第1個引數 2 傳遞給該shell指令碼的第...

Shell指令碼中 0 等的意義

變數說明 shell本身的pid processid shell最後執行的後台process的pid 最後執行的命令的結束 返回值 使用set命令設定的flag一覽 所有引數列表。如 用 括起來的情況 以 1 2 n 的形式輸出所有引數。所有引數列表。如 用 括起來的情況 以 1 2 n 的形式輸出...