创建函数-----------(在.bashrc文件中定义函数在命令行创建函数在命令行中使用函数)

WEL测试 WEL测试     2022-11-28     189

关键词:

6.6在命令行中使用函数

         脚本函数可以用于创建比较复杂的操作。脚本函数不仅可以用作shell脚本命令,也可以用作命令行界面的命令。一旦在shell中定义了函数,可以从系统的任意目录使用这个函数。不必担心PATH环境变量是否包含函数文件所在目录。关键是能使shell识别出这个函数。这有两种方法。

6.6.1在命令行创建函数

         shell在键盘输入命令时解释命令,函数可以直接在命令行定义。这有两种方法:

         第一种方法将函数定义在一行命令中:在命令行中定义函数时,每条命令的结尾必须包含分号,这样shell才知道命令在哪分开。

         第二种方法是使用多行命令定义函数。使用这种方法不需要在每条命令的结尾添加分号,只需按ENTER键。在函数末尾使用大括号时,shell知道定义函数结束。

         第6章创建函数-----------(在.bashrc文件中定义函数、在命令行创建函数、在命令行中使用函数)_shell在命令行中使用函数

         PS:使用命令行来创建函数应当十分小心。如果自定义函数与内置命令或其他命令同名,那么自定义函数将覆盖原有命令

6.6.2在.bashrc文件中定义函数

         直接在命令行定义shell函数的缺点是一旦退出shell,函数定义将失效。比较省事的方法是将函数定义放在shell每次启动都能重新载入的地方。.bashrc文件就是这样的地方。每次无论bash shell是交互式启动,还是从已有shell启动新shell,都会在主目录下查找这个文件。

         1.直接定义函数

         在主目录下的.bashrc文件中可以直接定义函数。大多数Linux发行版都已经在.bashrc文件中定义了一些内容,应当小心不要删除这些内容。只需在已有文件的末尾添加自定义函数。添加的函数在下一次启动新bash shell时生效。

         第6章创建函数-----------(在.bashrc文件中定义函数、在命令行创建函数、在命令行中使用函数)_shell在bashrc文件直接定义函数_02

         2.提供函数文件

         可以使用source命令(或称点操作符)将现有库文件的函数包含.bashrc脚本。确保包含库文件的准确路径名,这样bash shell才能够找到该库函数。再次启动shell之后,该库的所有函数都能在命令行界面使用。

         第6章创建函数-----------(在.bashrc文件中定义函数、在命令行创建函数、在命令行中使用函数)_shell在.bashrc文件中定义函数_03

         更好的是,shell还将全部已定义函数传递给子shell进程。对于所有从shelll会话运行的脚本,自定义函数随之可用。为验证这个优点,可以编写有自定义函数调用的脚本,切对自定义函数不加定义或供给。         

#!/bin/bash
#使用在.bashrc文件中定义的命令
value1=10
value2=5
addResult=`addem $value1 $value2`
mulResult=`multem $value1 $value2`
divResult=`divem $value1 $value2`

echo "The add of two number:$addResult"
echo "The mul of two number:$mulResult"
echo "The div of two number:$divResult"

第6章创建函数-----------(在.bashrc文件中定义函数、在命令行创建函数、在命令行中使用函数)_shell在.bashrc文件中定义函数_04


如何正确调用.bashrc的函数

参考技术A.bashrc是配置文件,在你的账号登录系统的时候,系统就会自动读取的,不是用来执行的如果你修改过,要想使它及时生效,可以登出账号再登入,或者用source.bashrc 查看详情

关于linux.bashrc文件详解

...行一些命令或者我们想要创造一些命令可以在上述文件中创建命令创建自定义快捷命令组合具体参考如下文章描述https://blog.csdn.net/eleanoryss/article/details/70 查看详情

alias创建别名(代码片段)

在我们的"/home/用户名/"的目录下,会有一个“.bashrc”文件,修改步骤如下:在文件的末尾添加:alias想要的别名=文件路径(文件路劲加引号)例如:aliaspython3=‘/home/namejr//namejr/python3/Python-3.7.1/python3.7‘执行一次:source.bashrc即可 查看详情

如何使用自动建议创建自定义文本区域?

】如何使用自动建议创建自定义文本区域?【英文标题】:HowtocreateCustomTextareawithautosuggest?【发布时间】:2019-02-1005:00:04【问题描述】:我想要一个文本区域,它应该在文本区域内部有自动建议。建议列表应该是定制的。意思是... 查看详情

.bashrc 在 ssh 登录

】.bashrc在ssh登录【英文标题】:.bashrcatsshlogin【发布时间】:2010-10-2315:50:45【问题描述】:当我ssh进入运行Hardy8.04的ubuntu-box时,我的.bashrc中的环境变量没有设置。如果我做一个源.bashrc,变量设置正确,一切都很好。为什么.bashr... 查看详情

sh一个bash函数添加到〜/.bash_profile(或〜/.bashrc或其他)(代码片段)

查看详情

库函数文件,创建打开读写删除操作实现

库函数-文件访问上一个博文主要讲了系统调用,接下来就开始库函数调用讲解。特点:C库函数是独立与操作系统平台存在的,无论在nunixlinux,还是windows操作系统下库函数调用都是一样的。 一、打开文件FILE*fopen(conschar*filename... 查看详情

Angularjs使用选项从模板添加值创建文本区域

】Angularjs使用选项从模板添加值创建文本区域【英文标题】:AngularjsCreatetextareawithoptionaddvaluefromtemplate【发布时间】:2018-01-0106:03:05【问题描述】:我正在尝试创建一个表单文本区域,用户可以在其中键入文本并可以选择一些预... 查看详情

在 .bashrc 中回显时 SCP 不起作用?

】在.bashrc中回显时SCP不起作用?【英文标题】:SCPdoesn\'tworkwhenechoin.bashrc?【发布时间】:2012-09-0813:11:12【问题描述】:我在Fedora中有两个用户:瓦尼root(很明显!)我的用户Wani的.bashrc的内容是:#.bashrcecho"Hello"#Sourceglobaldefinitio... 查看详情

sh在.bashrc(代码片段)

查看详情

sh在.bashrc(代码片段)

查看详情

sh在.bashrc(代码片段)

查看详情

适用于 Windows 的 Git 不执行我的 .bashrc 文件

...运行GitBash时,我的.bashrc文件似乎没有被执行。我是这样创建文件的:Administrator@HintTech-DevMINGW64 查看详情

检查命令是不是在 bashrc 中运行

】检查命令是不是在bashrc中运行【英文标题】:checkifcommandisrunninginbashrc检查命令是否在bashrc中运行【发布时间】:2014-10-2107:58:06【问题描述】:这是我的问题。由于我的保管箱文件夹存在自动同步问题。我必须在我的.bashrc中添... 查看详情

创建hadoop用户创错地方了

说明:在安装好Centos系统后,用root创建一般用户hadoop,在hadoop用户下搭建Hadoop集群,故很多文件的路径均为/home/hadoop…下面介绍一般步骤:1.创建一批普通用户,如test01、test02…并为其设置密码,命令如下:useraddtest01创建用户pa... 查看详情

在控制器中编辑文本区域

...描述】:我是Java和JavaFX的新手。我已经使用SceneBuilder/FXML创建了一个JavaFX项目,并且我试图在程序开始时添加一个实时时钟,该时钟在屏幕顶部的整个程序中运行。我创建了一个文本区域并尝试从给定的代码中添加时钟功能,但... 查看详情

如何读取刚刚由python中的函数创建的文件

】如何读取刚刚由python中的函数创建的文件【英文标题】:Howtoreadafilethatwasjustcreatedbyafunctioninpython【发布时间】:2019-12-2408:47:16【问题描述】:当我尝试读取刚刚由上面的函数创建的文件时,我得到了空白行。当我在不同的文件... 查看详情

我可以在 .bashrc 中两次导出 PATH 吗?

】我可以在.bashrc中两次导出PATH吗?【英文标题】:CanIexportPATHtwicein.bashrc?【发布时间】:2014-04-2615:15:48【问题描述】:我正在运行Ubuntu12.04并尝试使用HerokuCLI以及新下载的AWSElasticBeanstalkCLI工具。我的.bashrc中已有此代码:###Addedby... 查看详情