博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在Shell中使用函数文件
阅读量:4971 次
发布时间:2019-06-12

本文共 1504 字,大约阅读时间需要 5 分钟。

需要编写一个较庞大的脚本时,可能会涉及许多函数、变量。这是通常建议将众多的函数、变量放入一个单独的脚本内。这样做的好处很明显,不用担心某个函数、变量是否已经被定义和使用,也不用频繁地定义、清除函数和变量。

一、函数文件的编写

函数文件的格式和脚本文件一样。

[root@localhost shell]# cat function.example #函数文件中也可以不写下面这行Shell调用语句#!/bin/bash#function example.#This is a function definition script.#2013/12/17hello(){        echo "Now is the function hello."        echo "Hello! $1."        return }function hi(){        echo "Now si the function hi."        echo "Hi! $1."        return }

二、函数文件的调用

要调用已经编写好的函数文件,可以像定制工作环境那样,将函数文件包含在脚本文件中,然后直接进行调用。

(1)下面引入调用函数文件的示例脚本call_func_file.sh。在这个脚本中使用执行的方式调用函数文件,然后再直接调用函数文件中的函数。

[root@localhost shell]# cat call_func_file.sh #!/bin/bash#This is a example script.#2013/12/17#function.example. ./function.example#call function hellecho "Now call the function hello."hello Jhon#call function hiecho "Now call the function hi."hi Alix

从上面的示例文件中可以看出,调用函数文件的格式为:

. ./function.example

使用这种方式调用函数文件时,函数文件的路径应该与脚本文件的路径相同,否则在调用时应该使用函数文件的绝对路径或相对路径。

执行示例脚本:

[root@localhost shell]# ./call_func_file.sh Now call the function hello.Now is the function hello.Hello! Jhon.Now call the function hi.Now is the function hi.Hi! Alix.

(2)除了上面介绍的调用方式外,函数文件也可以像变量一样在命令提示符下使用。在命令提示符中调用函数文件后,就可以直接调用函数。

在命令提示符中调用函数文件:

[root@localhost shell]# . ./function.example [root@localhost shell]# hi AlixNow is the function hi.Hi! Alix.[root@localhost shell]# hello AlixNow is the function hello.Hello! Alix.

用户也可以使用上面的方法,将函数文件写入用户的环境变量配置文件中,然后像使用命令一样调用自定义的函数,以实现较复杂的功能。

转载于:https://www.cnblogs.com/nufangrensheng/p/3478935.html

你可能感兴趣的文章
Charles抓包方法
查看>>
TensorFlow(五):手写数字识别加强版
查看>>
深入理解Spring Redis的使用 (六)、用Spring Aop 实现注解Dao层的自动Spring Redis缓存...
查看>>
Linux系统监控命令详解
查看>>
用angularjs遇到的坑们
查看>>
sicily 1146. 采药
查看>>
bootstrap学习12-响应式嵌入组件
查看>>
256位AES加密和解密
查看>>
PHP配置文件详解php.ini
查看>>
第四周作业:java实现邮件发送
查看>>
基环树找环-模板
查看>>
Python import 导入指定目录的某块
查看>>
理解爬虫原理
查看>>
ORA-01940:无法删除当前已链接的用户(转)
查看>>
Android手机里H5页面滚动图片时出现白屏
查看>>
使用过滤器解决JSP页面的乱码问题
查看>>
sql完整事务
查看>>
Node 连接池pool
查看>>
WebApi接口文档
查看>>
表单元素系列一
查看>>