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

      百恒網絡

      南昌百恒網絡

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

      百恒網絡 2017-08-08 7504

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

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

      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售后服務 售后服務
       
      售后服務 售后服務
       
      備案專線 備案專線
       
      ×
      亚洲av午夜福利精品一区人妖| 精品少妇人妻av无码专区| 精品亚洲A∨无码一区二区三区| 国内精品久久久久| 久久精品免费大片国产大片| 麻豆va在线精品免费播放| 日韩精品一区二区三区大桥未久| 国产精品视频李雅| 精品精品国产自在97香蕉| 国产乱码精品一区二区三区四川人| 国产精品俺来也在线观看| 亚洲狠狠ady亚洲精品大秀| 久久精品人人做人人爽电影蜜月 | 国产精品99久久免费观看| 日韩精品亚洲aⅴ在线影院| 久久人搡人人玩人妻精品首页| 国产69精品久久久久9999| 一本大道无码人妻精品专区 | 久久国产成人精品国产成人亚洲 | 久久精品人人做人人爽| 国产精品国产亚洲精品看不卡| 国产综合色在线精品| 真实国产乱子伦精品视频| 亚洲精品乱码久久久久久蜜桃不卡| 国产亚洲精品拍拍拍拍拍| 国产午夜亚洲精品国产成人小说 | 久久永久免费人妻精品| 亚洲AV无码成人精品区在线观看 | 亚洲国产精品久久久久婷婷软件 | 亚洲精品无码一区二区| 亚洲欧洲精品成人久久曰| 天天拍夜夜添久久精品| 国产69精品久久久久观看软件| 国产精品久久久久久久久久影院| 992tv精品视频tv在线观看| 2022国产精品福利在线观看| 伊人无码精品久久一区二区| 色哟哟精品视频在线观看| 大伊香蕉在线精品不卡视频| 日本精品一区二区在线播放| 国产伦精品一区三区视频|