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

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

百恒網絡

南昌百恒網絡

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

百恒網絡 2017-08-08 7096

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

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

1、直接定義函數

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

$ cat .bashrc

# .bashrc

# Source global definitions

if [ -r /etc/bashrc ]; then

. /etc/bashrc

fi

function addem {

echo $[ $1 + $2 ]

}

$

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

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


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

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

售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售后服務 售后服務
 
售后服務 售后服務
 
備案專線 備案專線
 
×