十年專注于品牌網站建設 十余年專注于網站建設_小程序開發_APP開發,低調、敢創新、有情懷!
      南昌百恒網絡微信公眾號 掃一掃關注
      小程序
      tel-icon全國服務熱線:400-680-9298,0791-88117053
      掃一掃關注百恒網絡微信公眾號
      掃一掃打開百恒網絡微信小程序

      百恒網絡

      南昌百恒網絡

      如何在.bashrc文件中定義函數?

      百恒網絡 2017-08-08 7503

      大家都知道,在命令行上直接定義shell函數的明顯缺點是退出shell時,函數就消失了。對于復雜的函數來說,這可是個麻煩事。

      不過南昌網絡公司小編可以告訴大家一個非常簡單的方法,那就是將函數定義在一個特定的位置,這個位置在每次啟動一個新shell的時候,都會由shell重新載入。較佳的地點就是在.bashrc文件。bash shell在每次啟動時都會在主目錄下查找這個文件,不管是交互式shell還是從現有shell中啟動的新shell。下面小編就來為大家具體介紹一下:

      1、直接定義函數

      可以直接在主目錄下的.bashrc文件中定義函數。許多Linux發行版已經在.bashrc文件中定義了一些東西,所以注意不要誤刪了。把你寫的函數放在文件末尾就行了。

      $ cat .bashrc

      # .bashrc

      # Source global definitions

      if [ -r /etc/bashrc ]; then

      . /etc/bashrc

      fi

      function addem {

      echo $[ $1 + $2 ]

      }

      $

      該函數會在下次啟動新bash shell時生效。隨后你就能在系統上任意地方使用這個函數了。

      2、讀取函數文件

      只要是在shell腳本中,都可以用source命令(或者它的別名點操作符)將庫文件中的函數添加到你的.bashrc腳本中。

      $ cat .bashrc

      # .bashrc

      # Source global definitions

      if [ -r /etc/bashrc ]; then

      . /etc/bashrc

      fi

      . /home/rich/libraries/myfuncs

      $

      要確保庫文件的路徑名正確,以便bash shell能夠找到該文件。下次啟動shell時,庫中的所有函數都可在命令行界面下使用了。

      $ addem 10 5

      15

      $ multem 10 5

      50

      $ divem 10 5

      2

      $

      更好的是,shell還會將定義好的函數傳給子shell進程,這樣一來,這些函數就自動能夠用于該shell會話中的任何shell腳本了。你可以寫個腳本,試試在不定義或使用source的情況下,直接使用這些函數。

      $ cat test15

      #!/bin/bash

      # using a function defined in the .bashrc file

      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"

      $

      $ ./test15

      The result of adding them is: 15

      The result of multiplying them is: 50

      The result of dividing them is: 2

      $

      甚至都不用對庫文件使用source,這些函數就可以完美地運行在shell腳本中。是不是很神奇呢?小編認為更多的還是方便。

      好了,關于在.bashrc 文件中定義函數的做法,南昌網絡公司小編就先為大家講到這里,如果還有那些不明白的地方,可隨時來電和我們聯系。此外,如有想了解更多關于南昌網站制作、微信開發、APP開發等方面的資訊,歡迎關注百恒網絡官網,更多相關知識與您分享!


      400-680-9298,0791-88117053
      掃一掃關注百恒網絡微信公眾號
      掃一掃打開百恒網絡小程序

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

      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售后服務 售后服務
       
      售后服務 售后服務
       
      備案專線 備案專線
       
      ×
      久久只这里是精品66| 182tv午夜精品视频在线播放| 亚洲综合日韩久久成人AV| 亚洲中文字幕一区精品自拍| 久久精品国产99久久无毒不卡| 久久精品这里热有精品| 91精品成人免费国产| 国产精品青草视频免费播放| 精品视频一区在线观看| 日韩亚洲Av人人夜夜澡人人爽 | 99re热视频精品首页| 麻豆精品成人免费国产片| 99精品全国免费观看视频..| 国产成人毛片亚洲精品| 亚洲AV成人精品网站在线播放| 久久丝袜精品中文字幕| 久久99精品久久久久久野外| 国产成人高清精品免费观看| 日韩精品在线播放| 日韩一级视频免费观看| 日韩吃奶摸下AA片免费观看| 亚洲av日韩av无码| 亚洲日韩国产精品乱-久| 手机看片福利日韩国产| 日韩人妻无码一区二区三区久久99 | 中文字幕日韩精品有码视频| 九九久久精品无码专区| 精品人妻无码专区中文字幕 | 99re最新这里只有精品| 国产精品1区2区| 97久久精品人妻人人搡人人玩| 国产在线观看麻豆91精品免费| 99精品国产高清一区二区麻豆| 亚洲日本久久久午夜精品| 亚洲日韩精品无码专区加勒比| 亚洲国产成人久久精品软件| 国产乱码精品一区二区三区| 精品久久久久久久99热| 乱精品一区字幕二区| 久久精品国产999大香线焦| 久久久无码精品亚洲日韩蜜桃|