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

      百恒網絡

      南昌百恒網絡

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

      百恒網絡 2017-08-08 7390

      大家都知道,在命令行上直接定義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
      掃一掃關注百恒網絡微信公眾號
      掃一掃打開百恒網絡小程序

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

      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售后服務 售后服務
       
      售后服務 售后服務
       
      備案專線 備案專線
       
      ×
      精品国产免费一区二区三区| 91精品国产自产在线观看高清| 亚洲日韩AV一区二区三区中文| 国产av影片麻豆精品传媒| 日韩精品极品视频在线观看免费| 在线精品亚洲一区二区小说| 国产精品一区二区av不卡| 日韩色图在线观看| 国产精品模特hd在线| 久久精品国产亚洲av天美18| 国产精品久久新婚兰兰| 亚洲婷婷第一狠人综合精品| 日本aⅴ精品中文字幕| 久章草在线精品视频免费观看| 亚洲精品无码AV人在线播放| 久久亚洲国产成人精品无码区| 精品国产亚洲男女在线线电影| 国产成人精品久久综合| 国产精品无打码在线播放| 国产精品美女网站在线观看| 国产成人精品无人区一区| 精品无码成人片一区二区| 日韩AV片无码一区二区不卡| 日韩免费视频播播| 日韩无套内射视频6| 日韩久久无码免费毛片软件 | 中日韩美中文字幕| 国产精品jlzz视频| 国产av无码久久精品| 日韩毛片一区视频免费| 亚洲日韩中文在线精品第一| 亚洲?V无码成人精品区日韩| 国产精品福利影院| 国产愉拍精品视频手机| 国产精品一区二区三区高清在线 | 精品一区二区视频在线观看| 精品久久久久久婷婷| 亚洲精品无码人妻无码| 久热爱精品视频线路一| 国产精品综合AV一区二区国产馆| 一级一级特黄女人精品毛片视频|