caoporm97国产在线视频|欧美性XXXXX精品|一本一道久久a久久精品综合开|精品久久久久久久久久久AⅤ|

<div id="so1d9"><em id="so1d9"></em></div>
<nobr id="so1d9"></nobr>
  • <dl id="so1d9"><ins id="so1d9"><menu id="so1d9"></menu></ins></dl>
  • <option id="so1d9"></option>

    <dl id="so1d9"></dl>
      <dl id="so1d9"><sup id="so1d9"></sup></dl>

    1. <option id="so1d9"></option><option id="so1d9"><sup id="so1d9"></sup></option>

      <sup id="so1d9"></sup>
    2. 十年專(zhuān)注于品牌網(wǎng)站建設 十余年專(zhuān)注于網(wǎng)站建設_小程序開(kāi)發(fā)_APP開(kāi)發(fā),低調、敢創(chuàng )新、有情懷!
      南昌百恒網(wǎng)絡(luò )微信公眾號 掃一掃關(guān)注
      小程序
      tel-icon全國服務(wù)熱線(xiàn):400-680-9298,0791-88117053
      掃一掃關(guān)注百恒網(wǎng)絡(luò )微信公眾號
      掃一掃打開(kāi)百恒網(wǎng)絡(luò )微信小程序

      百恒網(wǎng)絡(luò )

      南昌百恒網(wǎng)絡(luò )

      Linux系統中如何創(chuàng )建函數庫?

      百恒網(wǎng)絡(luò ) 2017-08-04 4469

      使用函數可以在腳本中省去一些輸入工作,這一點(diǎn)是顯而易見(jiàn)的。但如果你碰巧要在多個(gè)腳本中使用同一段代碼呢?顯然,為了使用一次而在每個(gè)腳本中都定義同樣的函數太過(guò)麻煩。

      有個(gè)方法能解決這個(gè)問(wèn)題!bash shell允許創(chuàng )建函數庫文件,然后在多個(gè)腳本中引用該庫文件。

      這個(gè)過(guò)程的第一步是創(chuàng )建一個(gè)包含腳本中所需函數的公用庫文件。這里有個(gè)叫作myfuncs的庫文件,它定義了3個(gè)簡(jiǎn)單的函數,那么如何創(chuàng )建函數庫文件呢?下面就由南昌網(wǎng)絡(luò )公司小編為大家講解一下:

      $ cat myfuncs

      # my script functions

      function addem {

      echo $[ $1 + $2 ]

      }

      function multem {

      echo $[ $1 * $2 ]

      }

      function divem {

      if [ $2 -ne 0 ]

      then

      echo $[ $1 / $2 ]

      else

      echo -1

      fi

      }

      $

      下一步是在用到這些函數的腳本文件中包含myfuncs庫文件。從這里開(kāi)始,事情就變復雜了。

      問(wèn)題出在shell函數的作用域上。和環(huán)境變量一樣,shell函數僅在定義它的shell會(huì )話(huà)內有效。如果你在shell命令行界面的提示符下運行myfuncs shell腳本,shell會(huì )創(chuàng )建一個(gè)新的shell并在其中運行這個(gè)腳本。它會(huì )為那個(gè)新shell定義這三個(gè)函數,但當你運行另外一個(gè)要用到這些函數的腳本時(shí),它們是無(wú)法使用的。

      這同樣適用于腳本。如果你嘗試像普通腳本文件那樣運行庫文件,函數并不會(huì )出現在腳本中。

      $ cat badtest4

      #!/bin/bash

      # using a library file the wrong way

      ./myfuncs

      result=$(addem 10 15)

      echo "The result is $result"

      $

      $ ./badtest4

      ./badtest4: addem: command not found

      The result is

      $

      使用函數庫的關(guān)鍵在于source命令。source命令會(huì )在當前shell上下文中執行命令,而不是創(chuàng )建一個(gè)新shell??梢杂胹ource命令來(lái)在shell腳本中運行庫文件腳本。這樣腳本就可以使用庫中的函數了。

      source命令有個(gè)快捷的別名,稱(chēng)作點(diǎn)操作符(dot operator)。要在shell腳本中運行myfuncs庫文件,只需添加下面這行:

      . ./myfuncs

      這個(gè)例子假定myfuncs庫文件和shell腳本位于同一目錄。如果不是,你需要使用相應路徑訪(fǎng)問(wèn)該文件。下面小編就來(lái)講一下用myfuncs庫文件創(chuàng )建腳本的方法。

      $ cat test14

      #!/bin/bash

      # using functions defined in a library file

      . ./myfuncs

      value1=10

      value2=5

      result1=$(addem $value1 $value2)

      result2=$(multem $value1 $value2)

      result3=$(divem $value1 $value2)

      echo "The result of adding them is: $result1"

      echo "The result of multiplying them is: $result2"

      echo "The result of dividing them is: $result3"

      $

      $ ./test14

      The result of adding them is: 15

      The result of multiplying them is: 50

      The result of dividing them is: 2

      $

      這樣該腳本就成功地使用了myfuncs庫文件中定義的函數。

      以上就是南昌網(wǎng)絡(luò )公司小編為大家介紹的在Linux中庫文件的創(chuàng )建與使用,如果大家還有哪些不太明白的地方,可隨時(shí)來(lái)電和我們聯(lián)系,此外,了解更多關(guān)于網(wǎng)站建設、微信開(kāi)發(fā)、南昌APP開(kāi)發(fā)等方面的資訊,歡迎關(guān)注百恒網(wǎng)絡(luò )官網(wǎng)動(dòng)態(tài)!


      400-680-9298,0791-88117053
      掃一掃關(guān)注百恒網(wǎng)絡(luò )微信公眾號
      掃一掃打開(kāi)百恒網(wǎng)絡(luò )小程序

      歡迎您的光顧,我們將竭誠為您服務(wù)×

      售前咨詢(xún) 售前咨詢(xún)
       
      售前咨詢(xún) 售前咨詢(xún)
       
      售前咨詢(xún) 售前咨詢(xún)
       
      售前咨詢(xún) 售前咨詢(xún)
       
      售前咨詢(xún) 售前咨詢(xún)
       
      售后服務(wù) 售后服務(wù)
       
      售后服務(wù) 售后服務(wù)
       
      備案專(zhuān)線(xiàn) 備案專(zhuān)線(xiàn)
       
      ×

      <div id="so1d9"><em id="so1d9"></em></div>
      <nobr id="so1d9"></nobr>
    3. <dl id="so1d9"><ins id="so1d9"><menu id="so1d9"></menu></ins></dl>
    4. <option id="so1d9"></option>

      <dl id="so1d9"></dl>
        <dl id="so1d9"><sup id="so1d9"></sup></dl>

      1. <option id="so1d9"></option><option id="so1d9"><sup id="so1d9"></sup></option>

        <sup id="so1d9"></sup>