哪位大侠知道怎么在Shell中写个带参数的函数,类似func(a,b)这样的函数,怎么调用?
想跨脚本来调用函数就要先引入有那个函数的文件 source ${PWD}/function0.sh source后面跟的是函数文件function0.sh的路径,如果调用函数的文件和function0.sh在同一级 目录下就可以这么引入函数文件 ******************************************** #!/bin/bash func() { expr $1 + $2 } func 2 3 #说明,脚本来来的运行参数$#、$*、$1、$2、$3……在进行函数调用时会自动替换成函数参数($0不替换,仍然是原运行脚本的文件名),函数调用结束这些值又会恢复原来的值,不影响脚本原来的运行。 #调用时把参数直接附在函数名后面(不同参数以空格隔开,如果参数是字符串,用双引号引起来,否则字符串中的空格会把一个参数分成多个),在函数中直接用$1,$2等获得参数的值 #也可以通过设置变量的值当作函数参数,函数中直接使用变量就行 #函数返回值自己搜索吧 附脚本运行参数:三、位置变量参数 在向脚本传递参数时,可以使用此位置变量来获取参数。 他们分别是: $0:脚本名字。此变量包含地址,可以使用basename $0获得脚本名称。 $1:第一个参数 $2,$3,$4,$5,...一次类推。 四、特定变量参数 一些脚本运行的相关控制信息 $# 传递到脚本的参数个数 $* 以一个单字符串显示所有向脚本传递的参数 $$ 脚本运行的ID号 $! 后台运行的最后一个进程的ID号 $@ 与$#相同,但是使用时加引号,并在引号中返回每个参数。 $- 显示shell使用的当前选项。 $? 显示最后命令的推出状况。0表示没有错误。
转载于:https://blog.51cto.com/xoyabc/1622706