十年專注于品牌網(wǎng)站建設(shè) 十余年專注于網(wǎng)站建設(shè)_小程序開發(fā)_APP開發(fā),低調(diào)、敢創(chuàng)新、有情懷!
      南昌百恒網(wǎng)絡(luò)微信公眾號(hào) 掃一掃關(guān)注
      小程序
      tel-icon全國(guó)服務(wù)熱線:400-680-9298,0791-88117053
      掃一掃關(guān)注百恒網(wǎng)絡(luò)微信公眾號(hào)
      掃一掃打開百恒網(wǎng)絡(luò)微信小程序

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

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

      如何在.bashrc文件中定義函數(shù)?

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

      大家都知道,在命令行上直接定義shell函數(shù)的明顯缺點(diǎn)是退出shell時(shí),函數(shù)就消失了。對(duì)于復(fù)雜的函數(shù)來說,這可是個(gè)麻煩事。

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

      1、直接定義函數(shù)

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

      $ cat .bashrc

      # .bashrc

      # Source global definitions

      if [ -r /etc/bashrc ]; then

      . /etc/bashrc

      fi

      function addem {

      echo $[ $1 + $2 ]

      }

      $

      該函數(shù)會(huì)在下次啟動(dòng)新bash shell時(shí)生效。隨后你就能在系統(tǒng)上任意地方使用這個(gè)函數(shù)了。

      2、讀取函數(shù)文件

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

      $ cat .bashrc

      # .bashrc

      # Source global definitions

      if [ -r /etc/bashrc ]; then

      . /etc/bashrc

      fi

      . /home/rich/libraries/myfuncs

      $

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

      $ addem 10 5

      15

      $ multem 10 5

      50

      $ divem 10 5

      2

      $

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

      $ 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

      $

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

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


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

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

      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售后服務(wù) 售后服務(wù)
       
      售后服務(wù) 售后服務(wù)
       
      備案專線 備案專線
       
      ×
      精品日韩一区二区| 国产精品成人va在线观看| 国产精品人人做人人爽人人添 | 日韩精品视频免费在线观看| 最新国产精品好看的国产精品| 精品麻豆丝袜高跟鞋AV| 无码国内精品久久人妻| 亚洲国产一二三精品无码| 中文国产成人精品久久亚洲精品AⅤ无码精品 | 午夜精品成人毛片| 亚洲欧美精品午睡沙发| 国产精品亚洲综合五月天| 在线观看精品视频看看播放| 国产AV国片精品一区二区 | 久久精品国产99国产精品亚洲| 99国产精品热久久久久久| 久久久久国产成人精品 | 国产精品亚洲专区无码唯爱网| 亚洲国产精品日韩av不卡在线| 网友自拍区视频精品| 国产伦精品一区二区三区女| 久久久久久久久久久精品尤物| 麻豆国产精品无码视频| 久99久热只有精品国产女同| 91亚洲精品自在在线观看| 亚洲一区二区三区精品视频| 91精品免费久久久久久久久| 亚洲欧洲国产精品久久| 91探花国产综合在线精品| 69国产精品视频免费| 亚洲精品中文字幕无乱码| 99久久国产综合精品swag| 777国产偷窥盗摄精品品在线| 久久久无码精品亚洲日韩京东传媒| 1204国产成人精品视频| 国产乱码精品一区二区三区中| 18国产精品白浆在线观看免费| 亚洲精品国产国语| 国产精品国产AV片国产| 国产精品爆乳奶水无码视频| 日韩乱码人妻无码中文视频|