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

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

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

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

具體實例:

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

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

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

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

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

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

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

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

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

  • 相同點:都是引用所有參數(shù)。
  • 不同點:只有在雙引號中體現(xiàn)出來。假設(shè)在腳本運行時寫了三個參數(shù) 1、2、3,,則 " * " 等價于 "1 2 3"(傳遞了一個參數(shù)),而 "@" 等價于 "1" "2" "3"(傳遞了三個參數(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ù)傳遞的時候加雙引號就可以。

#!/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

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

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

相關(guān)文章

  • shell script獲取文件名或者目錄名稱的方法

    shell script獲取文件名或者目錄名稱的方法

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

    Shell腳本注釋寫法

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

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

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

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

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

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

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

    詳解shell 變量的高級用法示例

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

    linux生成(加載)動態(tài)庫靜態(tài)庫和加載示例方法

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

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

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

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

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

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

    今天我要講的是一個比較危險的命令,rm?命令,你可以沒聽過?rm?命令,但是刪庫跑路你不可能沒聽過吧,所以接下來小編就帶大家詳細的了解一下Linux?命令?-?rm,需要的朋友可以參考下
    2023-07-07

最新評論

子长县| 且末县| 车致| 安多县| 调兵山市| 定边县| 寻乌县| 景洪市| 宣城市| 弋阳县| 南汇区| 洛川县| 永平县| 兴宁市| 岑巩县| 丽水市| 渭南市| 德钦县| 龙岩市| 西乡县| 江源县| 马关县| 民县| 蒙城县| 华亭县| 遵义市| 合作市| 得荣县| 灵台县| 岢岚县| 镇安县| 高台县| 翁牛特旗| 蕲春县| 怀来县| 文安县| 武川县| 大石桥市| 获嘉县| 都匀市| 东平县|