亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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ù)的格式為: $nn 代表一個(gè)數(shù)字,1 為執(zhí)行腳本的第一個(gè)參數(shù),2 為執(zhí)行腳本的第二個(gè)參數(shù),以此類推……

具體實(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)文章

  • linux命令行下使用curl命令查看自己機(jī)器的外網(wǎng)ip

    linux命令行下使用curl命令查看自己機(jī)器的外網(wǎng)ip

    Linux命令行下使用curl命令查看自己機(jī)器的外網(wǎng)ip,大家參考使用吧
    2013-12-12
  • linux系統(tǒng)下hosts文件詳解及配置

    linux系統(tǒng)下hosts文件詳解及配置

    hosts文件是Linux系統(tǒng)上一個(gè)負(fù)責(zé)ip地址與域名快速解析的文件,以ascii格式保存在/etc/目錄下。這篇文章主要介紹了linux系統(tǒng)下hosts文件詳解及配置的相關(guān)資料,需要的朋友可以參考下
    2016-10-10
  • 淺談Shell中的函數(shù)

    淺談Shell中的函數(shù)

    這篇文章主要介紹了Shell中函數(shù)的相關(guān)資料,幫助大家更好的理解和使用shell,感興趣的朋友可以了解下
    2020-09-09
  • 查看linux中某個(gè)端口(port)是否被占用的方法

    查看linux中某個(gè)端口(port)是否被占用的方法

    下面小編就為大家?guī)?lái)一篇查看linux中某個(gè)端口(port)是否被占用的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-05-05
  • Linux命令之tail的使用及應(yīng)用場(chǎng)景介紹

    Linux命令之tail的使用及應(yīng)用場(chǎng)景介紹

    tail 是一條在 Linux 系統(tǒng)中常用的命令行工具,用來(lái)顯示文件的末尾內(nèi)容,tail 的功能強(qiáng)大且簡(jiǎn)潔,能夠滿足多種應(yīng)用需求本文就給大家介紹一下Linux命令tail的使用及應(yīng)用場(chǎng)景,需要的朋友可以參考下
    2023-09-09
  • Shell腳本test命令使用總結(jié)和實(shí)例

    Shell腳本test命令使用總結(jié)和實(shí)例

    這篇文章主要介紹了Shell腳本test命令使用總結(jié)和實(shí)例,分別對(duì)數(shù)字測(cè)試、字符串測(cè)試、文件測(cè)試做了總結(jié),并給出了實(shí)際使用例子,需要的朋友可以參考下
    2014-07-07
  • Shell腳本中判斷輸入?yún)?shù)個(gè)數(shù)的方法

    Shell腳本中判斷輸入?yún)?shù)個(gè)數(shù)的方法

    這篇文章主要介紹了Shell腳本中判斷輸入?yún)?shù)個(gè)數(shù)的方法,使用內(nèi)置變量$#即可實(shí)現(xiàn)判斷輸入了多少個(gè)參數(shù),需要的朋友可以參考下
    2014-10-10
  • Linux實(shí)現(xiàn)文件定期本地備份/異地備份/刪除備份的腳本

    Linux實(shí)現(xiàn)文件定期本地備份/異地備份/刪除備份的腳本

    數(shù)據(jù)備份的意義就在于,當(dāng)受到網(wǎng)絡(luò)攻擊、入侵、電源故障或者操作失誤等事故的發(fā)生后,可以完整、快速、簡(jiǎn)捷、可靠地恢復(fù)原有系統(tǒng)。本文為大家準(zhǔn)備了文件定期本地備份/異地備份/刪除備份的腳本,希望對(duì)你們有所幫助
    2022-10-10
  • 淺析Linux系統(tǒng)下安裝wetty和使用說(shuō)明

    淺析Linux系統(tǒng)下安裝wetty和使用說(shuō)明

    本篇文章主要給大家介紹linux系統(tǒng)下安裝wetty和使用說(shuō)明,以及l(fā)inux tty命令學(xué)習(xí)總結(jié),感興趣的朋友跟著小編一起學(xué)習(xí)吧
    2015-10-10
  • Shell腳本實(shí)現(xiàn)自動(dòng)安裝zookeeper

    Shell腳本實(shí)現(xiàn)自動(dòng)安裝zookeeper

    這篇文章主要介紹了Shell腳本實(shí)現(xiàn)自動(dòng)安裝zookeeper,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2015-01-01

最新評(píng)論