shell 函数(特定的函数和脚本内传参)
和其他脚本语言一样,bash同样支持函数。我们可创建特定的函数,也可以创建能够接受参数的函数。需要的时候直接调用就可以了。
1.定义函数
function fname()
{
statements;
} 或者: fname()
{
statements;
}
只需要使用函数名,就可以调用某个函数
例如:
[root@gitlab script]# cat function_test.sh
#!/bin/bash
function fname()
{
echo "This is test function"; #;也可不用
} for i in {1..5}
do
fname; #调用函数 ;也可不用
done
[root@gitlab script]# ./function_test.sh
This is test function
This is test function
This is test function
This is test function
This is test function
2.函数传参
[root@gitlab script]# cat function_test.sh
#!/bin/bash
function fname()
{
echo $1 $2 #打印参数
echo "$@" #以列表的方式一次性打印所有参数
echo "$*" #类似于$@,但单数被作为单个实体
} fname hello world #传参 echo "##########################" fname 1 2
[root@gitlab script]# ./function_test.sh
hello world
hello world
hello world
##########################
1 2
1 2
1 2
shell 函数(特定的函数和脚本内传参)的更多相关文章
- 【原】Gradle调用shell脚本和python脚本并传参
最近由于项目自动化构建的需要,研究了下gradle调用脚本并传参的用法,在此作个总结. Pre build.gradle中定义了$jenkinsJobName $jenkinsBuild两个Jenki ...
- arm汇编进入C函数分析,C函数压栈,出栈,传参,返回值
环境及代码介绍 环境和源码 由于有时候要透彻的理解C里面的一些细节问题,所有有必要看看汇编,首先这一切的开始就是从汇编代码进入C的main函数过程.这里不使用编译器自动生成的这部分汇编代码,因为编译器 ...
- python 全栈开发,Day9(函数的初始,返回值,传参,三元运算)
一.函数的初始 比如python没有len()方法,如何求字符串的长度使用for循环 s = 'fdshfeigjoglfkldsja' count = 0 for i in s: count += ...
- python 全栈开发,Day9(函数的初始,返回值,传参,三元运算)
一.函数的初始 比如python没有len()方法,如果求字符串的长度 使用for循环 s = 'asdfadsf' count = 0 for i in s: count += 1 print(co ...
- 【MYSQL】在脚本中使用变量-执行脚本时传参
在shell脚本里可以定义变量,并在执行脚本时任意传参. #!/bin/bashdb_name=$1 #将第一个值赋给db_name变量sql_name=$2 #将第二个值赋给sql_name变量my ...
- vue中计算属性computed方法内传参
vue中computed计算属性无法直接进行传参 如果有传参数的需求比如说做数据筛选功能可以使用闭包函数(也叫匿名函数)实现 例如: 在上篇博客vue安装使用最后的成绩表练习中的过滤功能的实现: &l ...
- (十三)、向shell脚本中传参
一.向脚本中传递位置参数 向脚本中传递参数的数目理论上可以无数多,但是只有前9个能被访问,使用shift可以改变此限制 $0 $1 $2 $3 $4 $5 $6 $7 $8 $9 脚本名字 first ...
- shell脚本调用传参【转载】
转自:https://www.cnblogs.com/cisum/p/8010658.html 1.直接使用$0,$1,$2,$3 $0是脚本的名字,就是按顺序来 #!/bin/bash # auth ...
- linux监控脚本,脚本支持传参,整合C程序
1,查看指定用户下的进程pid
随机推荐
- Django框架篇
Django框架 1.HTTP超文本传输协议 8中请求方法 GET , POST ,HEAD ,PUT ,DELETE , TRACE ,OPTIONS ,CONNCT 状态码 1xx ;服务器收到请 ...
- ZJNU 1153 - 找单词——中级
状态转移b[i]记录价值为i的单词种类数d[j+k*i]+=b[j] , k<=a[i]&&j+k*i<=50表示价值为j+k*i的单词可以由价值为j的单词加上k个i字母转 ...
- idea 项目 版本控制文件
- 浅谈PHP小马免杀
在渗透测试过程初期,上传小马,拿到 webshell 再进行下一步的操作,现如今的网站安全更多是 一些云防护.CDN防护.服务器安全软件等等,给渗透测试.提权等带来了一定难度的提升, 今天探讨一下如何 ...
- ubuntu .bashrc文件添加jdk后无法登录的解决方案
1. 快捷键(ctl-alt-f2)进入虚拟终端 2. 执行export PATH=/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/ ...
- 01-电子商城项目介绍及ssm框架搭建
1.B2C电商项目功能及架构 1.1功能列表 1.2系统架构(soa架构) 2.后台管理系统工程搭建及测试 ypMall,ypMall-manager-web ypMall为父项目,管理子项目的jar ...
- Ubuntu 12.04 查看DOCSIS配置文件
查看BIN格式的DOCSIS配置文件,需要专用工具. 工具安装 在Windows下,可以使用工具VultureWare DOCSIS Config Editor. 在Ubuntu(本机版本12.04) ...
- 管理Exchange Online用户介绍(二)
一.Exchange Online配置邮件传递限制 1..进入“Exchange 管理中心”,依次点击 收件人->邮箱->选择需要管理的用户->编辑->邮箱功能->邮件传 ...
- springboot学习笔记:7.IDEA下5步完成热部署配置
开发工具IDEA 2017.02 JDK1.8 1.pom.xml中增加: <dependency> <groupId>org.springframework.boot&l ...
- .vimrc文件
1 set number 2 set shiftwidth=4 3 set softtabstop=4 4 set tabstop=4 5 set expandtab 6 "set hlse ...