内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

shell變量默認值-創(chuàng)新互聯(lián)

一、環(huán)境

成都創(chuàng)新互聯(lián)專業(yè)IDC數(shù)據(jù)服務(wù)器托管提供商,專業(yè)提供成都服務(wù)器托管,服務(wù)器租用,服務(wù)器托管,服務(wù)器托管,成都多線服務(wù)器托管等服務(wù)器托管服務(wù)。

    ubuntu14.04 x86_64


二、變量默認值

   2.1     ${vari:-defaultValue}

    當var沒有定義時,此時使用defaultValue, 而vari依然為空,沒有改變值

     eg:
     在終端上操作

  #echo ${name}
  #            //因為name沒有定義,結(jié)果為空
  #echo ${name:-chao ge}
  #chao ge        //沒有定義name,使用默認值chao ge
  #echo ${name}
  #           //依然為空,并未改并name變量的值


    2.2    ${vari:=defaultValue}

     當vari沒有定義時,此時使用defaultValue, 同時vari也被賦值為defaultValue

     eg:

    在終端上操作

  #echo ${name}
  #            //因為name沒有定義,結(jié)果為空
  #echo ${name:=chao ge}
  #chao ge        //沒有定義name,使用默認值chao ge
  #echo ${name}
  #chaoge         //name變量的值已經(jīng)被改變

    2.3 ${vari:?value}

     當vari沒有定義時,或者定義了值為空,將在終端報錯并且退出,用于檢查是否定義以及是否為空

        eg.

        >echo ${name}
        >                     //因為沒有定義name,所以輸出為空
        >echo ${name:?zhangsan}
        >bash: name: zhangsan   //因為沒有定義name,報錯并退出
        >echo ${name:?}
        >bash: name: 參數(shù)為空或未設(shè)置
        >name=   //定義name變量,但是值為空
        >echo ${name:?}
        >bash: name: 參數(shù)為空或未設(shè)置
        >name=lisi    //設(shè)置了name的值
        >echo ${name:?}
        >lisi   //正常輸出name的值

        2.4 ${vari:+value}

     當vari定義并且不為空,將用value替換vari的值,否則什么也不做, 與${vari:-value}相反

     eg:

        >echo ${myhome:+beijing}
        >           //因為沒有定義myhome,所以為空
        >myhome=     //定義myhome,但為空
        >echo ${myhome:+beijing}
        >
        >myhome=shanghai     //設(shè)置變量的值
        >echo ${myhome:+beijing}
        >beijing    //此時myhome定義了并且不為空,則替換為beijing了

 三、應(yīng)用

    3.1 Makefile

            eg: linux內(nèi)核中其中一個Makefile中的

   #Default value
   head-y        := arch/arm/kernel/head$(MMUEXT).o arch/arm/kernel/init_task.o
    textofs-y    := 0x00008000

    3.2 函數(shù)默認參數(shù)


        和c++的默認參數(shù)異曲同工之妙

        default_parameters.cpp

     #include<iostream>
     void func(int i=1, double d=2.0, float f=3.0)
      {
         std::cout << i <<", " <<d <<", " << f << std::endl;
      }
      int main(int argc, char *args[]) 
     {
         func();
       func(10);
       func(10, 99.9);
       func(20, 33.3, 9.3f);
                     
             return 0;
      }

    #g++ default_parameters.cpp

    # ./a.out
    1, 2, 3
    10, 2, 3
    10, 99.9, 3
    20, 33.3, 9.3



    default_parameters.sh

    #!/bin/bash
  
    func()
   {
    echo "${1:-10}, ${2:-10.2}, ${3:-zhangsan}" 
    }
  
   func
   func 23
   func 23 12.0
   func 34 23.0 lisi

    #bash default_parameters.sh

    10, 10.2, zhangsan
    23, 10.2, zhangsan
    23, 12.0, zhangsan
    34, 23.0, lisi


        這樣就可以讓函數(shù)呈現(xiàn)多態(tài)性




另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

新聞標題:shell變量默認值-創(chuàng)新互聯(lián)
本文URL:http://www.rwnh.cn/article38/dpeipp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、網(wǎng)站排名、網(wǎng)站內(nèi)鏈、微信公眾號、搜索引擎優(yōu)化、電子商務(wù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司
枣阳市| 通山县| 准格尔旗| 德安县| 广安市| 茂名市| 衡水市| 堆龙德庆县| 新沂市| 体育| 中阳县| 嫩江县| 保德县| 铁力市| 府谷县| 陇川县| 南华县| 都江堰市| 贺州市| 阿拉善左旗| 易门县| 青河县| 南华县| 北京市| 永修县| 华亭县| 昌图县| 鄯善县| 达孜县| 蓝田县| 阿荣旗| 卢龙县| 吉林省| 贵阳市| 桃园市| 阿拉善盟| 宕昌县| 江津市| 和田县| 万山特区| 仪征市|