十年专注于品牌网站建设 十年专注于品牌网站建设,低调、高逼格、有情怀的网络应用服务商!
南昌百恒网络微信公众号 扫一扫关注
小程序
tel-icon全国服务热线:400-680-9298,0791-88117053
扫一扫关注百恒网络微信公众号
扫一扫打开百恒网络微信小程序

百恒网络

南昌百恒网络

如何在.bashrc文件中定义函数?

百恒网络 2017-08-08 197

大家都知道,在命令行上直接定义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
扫一扫关注百恒网络微信公众号
扫一扫打开百恒网络小程序

欢迎您的光顾,我们将竭诚为您服务×

售前咨询 售前咨询
 
售前咨询 售前咨询
 
售前咨询 售前咨询
 
售前咨询 售前咨询
 
售前咨询 售前咨询
 
售后服务 售后服务
 
售后服务 售后服务
 
备案专线 备案专线
 
×