最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Shell 參數(shù)傳遞的使用方法

 更新時(shí)間:2023年05月09日 09:26:23   作者:向陽(yáng)逐夢(mèng)  
本文主要介紹了Shell 參數(shù)傳遞的使用方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

我們可以在執(zhí)行 Shell 腳本時(shí),向腳本傳遞參數(shù),腳本內(nèi)獲取參數(shù)的格式為: $n。n 代表一個(gè)數(shù)字,1 為執(zhí)行腳本的第一個(gè)參數(shù),2 為執(zhí)行腳本的第二個(gè)參數(shù),以此類(lèi)推……

具體實(shí)例:

以下實(shí)例我們向腳本傳遞三個(gè)參數(shù),并分別輸出,其中 $0 為執(zhí)行的文件名(包含文件路徑):

echo "Shell 傳遞參數(shù)實(shí)例!";
echo "執(zhí)行的文件名:$0";
echo "第一個(gè)參數(shù)為:$1";
echo "第二個(gè)參數(shù)為:$2";
echo "第三個(gè)參數(shù)為:$3";

為腳本設(shè)置可執(zhí)行權(quán)限,并執(zhí)行腳本,輸出結(jié)果如下所示:

$ chmod +x test.sh 
$ ./test.sh 1 2 3
Shell 傳遞參數(shù)實(shí)例!
執(zhí)行的文件名:./test.sh
第一個(gè)參數(shù)為:1
第二個(gè)參數(shù)為:2
第三個(gè)參數(shù)為:3

另外,還有幾個(gè)特殊字符用來(lái)處理參數(shù):

echo "Shell 傳遞參數(shù)實(shí)例!";
echo "第一個(gè)參數(shù)為:$1";
echo "參數(shù)個(gè)數(shù)為:$#";
echo "傳遞的參數(shù)作為一個(gè)字符串顯示:$*";

執(zhí)行腳本,輸出結(jié)果如下所示:

$ chmod +x test.sh 
$ ./test.sh 1 2 3
Shell 傳遞參數(shù)實(shí)例!
第一個(gè)參數(shù)為:1
參數(shù)個(gè)數(shù)為:3
傳遞的參數(shù)作為一個(gè)字符串顯示:1 2 3

∗與* 與 ∗與@ 區(qū)別:

  • 相同點(diǎn):都是引用所有參數(shù)。
  • 不同點(diǎn):只有在雙引號(hào)中體現(xiàn)出來(lái)。假設(shè)在腳本運(yùn)行時(shí)寫(xiě)了三個(gè)參數(shù) 1、2、3,,則 " * " 等價(jià)于 "1 2 3"(傳遞了一個(gè)參數(shù)),而 "@" 等價(jià)于 "1" "2" "3"(傳遞了三個(gè)參數(shù))。
echo "-- $* 演示 ---"
for i in "$*"; do
    echo $i
done
echo "-- $@ 演示 ---"
for i in "$@"; do
    echo $i
done

執(zhí)行腳本,輸出結(jié)果如下所示:

$ chmod +x test.sh 
$ ./test.sh 1 2 3
-- $* 演示 ---
1 2 3
-- $@ 演示 ---
1
2
3

含有空格的參數(shù),只需要在參數(shù)傳遞的時(shí)候加雙引號(hào)就可以。

#!/bin/bash 
echo "---------------with double quote ---------------"
echo "$1"
echo "$2"
echo "$3"
my_procedure() {
   echo "$1"
   echo "$2"
   echo "$3"
}
my_procedure "$@"
echo "---------------withtout double quote ---------------"
echo $1
echo $2
echo $3
my_procedure() {
   echo $1
   echo $2
   echo $3
}
my_procedure "$@"
echo "---------------withtout double quote by passing arguments---------------"
my_procedure $@

輸入:

./test.sh "a b" "c d" "e f"

輸出結(jié)果為:

---------------with double quote ---------------
a b
c d e
f g
a b
c d e
f g
---------------withtout double quote ---------------
a b
c d e
f g
a b
c d e
f g
---------------withtout double quote by passing arguments ---------------
a
b
c

前兩部分無(wú)論在函數(shù)內(nèi)外,加不加引號(hào)都一樣,但是在函數(shù)傳遞的時(shí)候要保證加引號(hào)。

到此這篇關(guān)于Shell 參數(shù)傳遞的使用方法的文章就介紹到這了,更多相關(guān)Shell 參數(shù)傳遞內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • shell script獲取文件名或者目錄名稱(chēng)的方法

    shell script獲取文件名或者目錄名稱(chēng)的方法

    本文主要介紹了shell script獲取文件名或者目錄名稱(chēng)的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • Shell腳本注釋寫(xiě)法

    Shell腳本注釋寫(xiě)法

    這篇文章主要介紹了Shell腳本注釋的3種寫(xiě)法,包含單行注釋的方法和多行注釋的多種方法,需要的朋友可以參考下
    2014-07-07
  • 淺談Linux中的mkdir -p及基礎(chǔ)用法

    淺談Linux中的mkdir -p及基礎(chǔ)用法

    mkdir是一個(gè)用于創(chuàng)建目錄(目錄樹(shù))的 Unix 和 Linux 命令, -p 選項(xiàng)允許創(chuàng)建一個(gè)目錄和它不存在的父目錄,這篇文章主要介紹了Linux中的mkdir -p,需要的朋友可以參考下
    2023-09-09
  • shell腳本自動(dòng)刪除30天以前的文件(最新推薦)

    shell腳本自動(dòng)刪除30天以前的文件(最新推薦)

    該文章介紹了如何使用Shell腳本自動(dòng)刪除指定目錄下30天以前的文件,并通過(guò)crontab設(shè)置定時(shí)任務(wù),此外,還提供了如何使用Shell腳本刪除Elasticsearch索引的參考,感興趣的朋友一起看看吧
    2025-02-02
  • CPU負(fù)載監(jiān)控腳本代碼

    CPU負(fù)載監(jiān)控腳本代碼

    CPU負(fù)載監(jiān)控腳本代碼,需要的朋友可以參考下
    2013-01-01
  • 詳解shell 變量的高級(jí)用法示例

    詳解shell 變量的高級(jí)用法示例

    這篇文章主要介紹了詳解shell 變量的高級(jí)用法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • linux生成(加載)動(dòng)態(tài)庫(kù)靜態(tài)庫(kù)和加載示例方法

    linux生成(加載)動(dòng)態(tài)庫(kù)靜態(tài)庫(kù)和加載示例方法

    這篇文章主要介紹了linux生成(加載)動(dòng)態(tài)庫(kù)靜態(tài)庫(kù)示例方法,大家參考使用
    2013-11-11
  • Shell腳本處理浮點(diǎn)數(shù)的運(yùn)算和比較實(shí)例

    Shell腳本處理浮點(diǎn)數(shù)的運(yùn)算和比較實(shí)例

    這篇文章主要介紹了Shell腳本處理浮點(diǎn)數(shù)的運(yùn)算和比較實(shí)例,文中分別使用了bc或awk實(shí)現(xiàn),需要的朋友可以參考下
    2014-06-06
  • shell腳本發(fā)送http請(qǐng)求的實(shí)現(xiàn)示例

    shell腳本發(fā)送http請(qǐng)求的實(shí)現(xiàn)示例

    本文主要介紹了shell腳本發(fā)送http請(qǐng)求的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • Linux命令之-rm命令使用示例

    Linux命令之-rm命令使用示例

    今天我要講的是一個(gè)比較危險(xiǎn)的命令,rm?命令,你可以沒(méi)聽(tīng)過(guò)?rm?命令,但是刪庫(kù)跑路你不可能沒(méi)聽(tīng)過(guò)吧,所以接下來(lái)小編就帶大家詳細(xì)的了解一下Linux?命令?-?rm,需要的朋友可以參考下
    2023-07-07

最新評(píng)論

阳高县| 姚安县| 大港区| 东乌珠穆沁旗| 玛纳斯县| 江口县| 金坛市| 古丈县| 依安县| 亚东县| 葵青区| 全南县| 长顺县| 元朗区| 改则县| 阜宁县| 溆浦县| 观塘区| 甘德县| 新建县| 平和县| 临洮县| 繁峙县| 凤山市| 犍为县| 无为县| 库伦旗| 新龙县| 云霄县| 高淳县| 祁连县| 开阳县| 浙江省| 和顺县| 甘孜县| 望奎县| 五寨县| 桓台县| 贵德县| 灵丘县| 广德县|