shell中 0, , 等的特殊用法

2021-06-27 04:49:14 字數 932 閱讀 6016

shell中$0,$?,$!等的特殊用法

凡不庸變數說明:

$$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, , 等的特殊用法

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

shell中 0, , 等的特殊用法

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

shell中 0, , 等的特殊用法

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