shell 外部引數

2021-09-26 08:21:05 字數 1390 閱讀 1668

在執行 shell 指令碼時,向指令碼傳遞引數,指令碼內獲取引數的格式為:$n

n代表乙個數字,$0為執行的檔名,$1為執行指令碼的第乙個引數,$2為執行指令碼的第二個引數,以此類推……

echo "當前檔名:$0";

echo "第乙個引數為:$1";

echo "第二個引數為:$2";

echo "引數個數為:$#";

執行指令碼,輸出結果:

$ ./hello.sh 1 2

第乙個引數為:1

第二個引數為:2

引數個數為:2

幾個特殊字元用來處理引數:

引數處理

說明$#

傳遞到指令碼的引數個數

$*以乙個單字串顯示所有向指令碼傳遞的引數。

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

$$指令碼執行的當前程序id號

$!後台執行的最後乙個程序的id號

$@與$*相同,但是使用時加引號,並在引號中返回每個引數。

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

$-顯示shell使用的當前選項,與set命令功能相同。

$?顯示最後命令的退出狀態。0表示沒有錯誤,其他任何值表明有錯誤。

$* 與 $@ 區別:
#!/bin/bash

echo "-- \$* 演示 ---"

for i in "$*"; do

echo $i

done

echo "-- \$@ 演示 ---"

for i in "$@"; do

echo $i

done

執行指令碼,輸出結果:

$ ./hello.sh 1 2 3

-- $* 演示 ---

1 2 3

-- $@ 演示 ---12

3

read 命令從標準輸入中讀取一行,並把輸入行的每個欄位的值指定給 shell 變數

#!/bin/sh

echo '請輸入name值:'

read name

echo 'name值為:' $name

執行指令碼,

$ ./hello.sh

請輸入name值: #等待輸入

zhangsan #標準輸入

name值為:zhangsan #輸出

shell指令碼 引用外部引數

我們可以在執行 shell 指令碼時,向指令碼傳遞引數,指令碼內獲取引數的格式為 n。n代表乙個數字,1 為執行指令碼的第乙個引數,2 為執行指令碼的第二個引數,以此類推 以下例項我們向指令碼傳遞三個引數,並分別輸出,其中 0 為執行的檔名 bin bash author 菜鳥教程 url www....

flex使用外部引數

摘自 http www.cnblogs.com qkaibo archive 2007 11 22 968516.html 網上的大部分文章都是一般寫給自己看的 今天我把flex使用外部引數說詳細點 從頭說起 我們假設新建乙個工程叫test 然後 在編譯完後bin目錄下有乙個test.html檔案 ...

內外部引數

switf 中含有內部引數名和外部引數名 下面的函式中 name 是外部引數名 二狗是內部引數名 func test1 name二狗 string test1 name dog 執行1 dog name二狗 如果不想讓外界知道你的外部引數名,可以使用 忽略掉外部引數名,每個引數都會自帶乙個外部引數名...