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

Shell腳本傳參數(shù)方法總結

 更新時間:2015年05月08日 09:29:20   投稿:junjie  
這篇文章主要介紹了Shell腳本傳參數(shù)方法總結,本文著重講解傳遞固定個數(shù)參數(shù)的方法、可變個數(shù)參數(shù)的方法兩部份內(nèi)容,需要的朋友可以參考下

一、接收固定長度的參數(shù)

復制代碼 代碼如下:

[root@svn shell_example]# cat params.sh
#!/bin/bash
#傳參測試腳本
echo "My name is `basename $0` -I was called as $0"
echo "My first parameter is : $1"
echo "My second parameter is : $2"

空參數(shù)執(zhí)行
復制代碼 代碼如下:

[root@svn shell_example]# sh params.sh
My name is params.sh -I was called as params.sh
My first parameter is :
My second parameter is :

傳遞2個參數(shù)執(zhí)行
復制代碼 代碼如下:

[root@svn shell_example]# sh params.sh one two
My name is params.sh -I was called as params.sh
My first parameter is : one
My second parameter is : two

二、那如果還有參數(shù)怎么辦呢?還要一個個加上來嗎?答案是否定的

以下用法應該不陌生,就是直接執(zhí)行腳本本身,沒有附帶任何參數(shù),那么腳本講拋出幫助信息.即怎么使用此腳本.見紅字部分

復制代碼 代碼如下:

[root@svn shell_example]# sh params_v2.sh
My name is params_v2.sh -I was called as params_v2.sh
I was called with 0 parameters.
Usage: params_v2.sh first second
You provided 0 parameters,but 2 are required.

代碼如下
復制代碼 代碼如下:

[root@svn shell_example]# cat params_v2.sh
#!/bin/bash
# 這是個測試腳本傳參的測試例子

echo "My name is `basename $0` -I was called as $0"
echo "I was called with $# parameters."

if [ "$#" -eq "2" ];then
    echo "My first parameter is $1"
    echo "My second parameter is $2"
else
    echo "Usage: `basename $0` first second"
    echo "You provided $# parameters,but 2 are required."
fi

詳細的執(zhí)行過程如下
不傳參數(shù)執(zhí)行

復制代碼 代碼如下:

[root@svn shell_example]# sh params_v2.sh
My name is params_v2.sh -I was called as params_v2.sh
I was called with 0 parameters.
Usage: params_v2.sh first second
You provided 0 parameters,but 2 are required.

傳遞3個參數(shù)執(zhí)行
復制代碼 代碼如下:

[root@svn shell_example]# sh params_v2.sh one two three
My name is params_v2.sh -I was called as params_v2.sh
I was called with 3 parameters.
Usage: params_v2.sh first second
You provided 3 parameters,but 2 are required.

傳遞2個參數(shù)執(zhí)行
復制代碼 代碼如下:

[root@svn shell_example]# sh params_v2.sh one two
My name is params_v2.sh -I was called as params_v2.sh
I was called with 2 parameters.
My first parameter is one
My second parameter is two

問題來了,要是后期還要加參數(shù)怎么辦呢?或者我也不確定到底會傳幾個參數(shù).
解決方法如下,詳細執(zhí)行結果如下

復制代碼 代碼如下:

[root@svn shell_example]# cat manyparams.sh
#!/bin/bash
#這是個測試腳本傳N個參數(shù)的例子

echo "我的名字是 `basename $0` - 我是調(diào)用自 $0"
echo "我有 $# 參數(shù)"

count=1
while [ "$#" -ge "1" ];do
    echo "參數(shù)序號為 $count 是 $1"
    let count=count+1
    shift
done

一個參數(shù)執(zhí)行

[root@svn shell_example]# sh manyparams.sh one

我的名字是 manyparams.sh - 我是調(diào)用自 manyparams.sh
我有 1 參數(shù)
參數(shù)序號為 1 是 one

5個參數(shù)執(zhí)行

復制代碼 代碼如下:

[root@svn shell_example]# sh manyparams.sh one two three four five

我的名字是 manyparams.sh - 我是調(diào)用自 manyparams.sh
我有 5 參數(shù)
參數(shù)序號為 1 是 one
參數(shù)序號為 2 是 two
參數(shù)序號為 3 是 three
參數(shù)序號為 4 是 four
參數(shù)序號為 5 是 five

相關文章

  • Shell腳本中獲取進程ID的方法

    Shell腳本中獲取進程ID的方法

    這篇文章主要介紹了Shell腳本中獲取進程ID的方法,我想要知道運行中腳本子shell的進程id,我該如何在shell腳本中得到PID,閱讀本文即可找到你想要答案,需要的朋友可以參考下
    2015-03-03
  • 加固Linux系統(tǒng)的三種方法總結

    加固Linux系統(tǒng)的三種方法總結

    這篇文章主要介紹了加固Linux系統(tǒng)的三種方法總結的相關資料,通過本文希望大家能掌握這部分內(nèi)容,需要的朋友可以參考下
    2017-08-08
  • Git Tag 標簽詳解

    Git Tag 標簽詳解

    這篇文章主要介紹了Git Tag 標簽以及git命令之git tag給當前分支打標簽的相關知識,需要的朋友可以參考下
    2017-11-11
  • 對Linux下shell編程之for循環(huán)的實例講解

    對Linux下shell編程之for循環(huán)的實例講解

    今天小編就為大家分享一篇對Linux下shell編程之for循環(huán)的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • 利用shell創(chuàng)建文本菜單與窗口部件的方法

    利用shell創(chuàng)建文本菜單與窗口部件的方法

    這篇文章主要給大家介紹了關于利用shell創(chuàng)建文本菜單與窗口部件的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。
    2017-11-11
  • 區(qū)分shell中的 反引號、$()和${}

    區(qū)分shell中的 反引號、$()和${}

    這篇文章主要介紹了區(qū)分shell中的 反引號、$()和${},幫助大家更好的理解和學習shell,感興趣的朋友可以了解下
    2020-08-08
  • Linux?Shell如何用ssh命令統(tǒng)計分布式集群信息詳解

    Linux?Shell如何用ssh命令統(tǒng)計分布式集群信息詳解

    作為命令的ssh,作用就是在一臺linux機器上去登錄到另一臺linux機器,下面這篇文章主要給大家介紹了關于Linux?Shell如何用ssh命令統(tǒng)計分布式集群信息的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-07-07
  • bash判斷文件或文件夾是否存在的shell代碼

    bash判斷文件或文件夾是否存在的shell代碼

    這篇文章主要介紹了bash判斷文件或文件夾是否存在的shell代碼,需要的朋友可以參考下
    2017-05-05
  • shell腳本批量創(chuàng)建用戶的方法小結

    shell腳本批量創(chuàng)建用戶的方法小結

    有些面試題中會問到批量創(chuàng)建用戶的題目,大體是用循環(huán)去進行創(chuàng)建,但有時也會有一些額外的附加條件,下面這篇文章主要給大家介紹了關于shell腳本批量創(chuàng)建用戶的相關資料,需要的朋友可以參考下
    2022-03-03
  • linux shell將變量拼接到命令中

    linux shell將變量拼接到命令中

    本文主要介紹了linux shell將變量拼接到命令中,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-05-05

最新評論