干熟妇在线视频午夜剧场一级A级|99成人香视频日本两性激情视频|久久 午夜福利无码精品人妻一区|热久久超碰精品精品少妇一区二区|五月天综合在线国产一区免费视频|亚洲成人中心热re久久99|亚洲国产怡红院丁香五月综合h|玖玖九久久久午夜射精视频

十年專注于品牌網(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 7378

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

不過(guò)南昌網(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。下面小編就來(lái)為大家具體介紹一下:

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)程,這樣一來(lái),這些函數(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í)來(lái)電和我們聯(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ù)
 
備案專線 備案專線
 
×
湟源县| 五指山市| 汉川市| 喜德县| 兰溪市| 甘南县| 界首市| 凌云县| 日喀则市| 乌海市| 湘阴县| 赞皇县| 砀山县| 榕江县| 陈巴尔虎旗| 白玉县| 镇雄县| 宝清县| 井陉县| 喀喇沁旗| 集安市| 高尔夫| 德保县| 黔西| 蕲春县| 阳谷县| 巫山县| 黔东| 曲阜市| 沁阳市| 河源市| 彭阳县| 深水埗区| 济宁市| 光山县| 武隆县| 磐石市| 育儿| 江孜县| 新安县| 九龙县|