当前位置: 技术问答>linux和unix
请问,谢谢
来源: 互联网 发布时间:2016-06-17
本文导语: 在shell中,我定义了一个函数在一个文件中 我要在另外一个文件中调用该函数,我应该怎么写? | 假设你定的函数的文件为filea,里面有一个rcl()函数,那么在filea里最后还要运行这个函数...
在shell中,我定义了一个函数在一个文件中
我要在另外一个文件中调用该函数,我应该怎么写?
我要在另外一个文件中调用该函数,我应该怎么写?
|
假设你定的函数的文件为filea,里面有一个rcl()函数,那么在filea里最后还要运行这个函数,即最后还要加一条语句rcl,如果函数有参数的话则要加参数,如rcl $1,rcl $@之类的。参数由运行filea脚本的命令行传入,如./filea arg1,arg2之类的。
在需要调用这个函数的另外一个文件fileb中,直接运行filea这个脚本并传入参数,即在fileb文件中用语句./filea arg1,arg2之类(或者前面再加一个source命令),这样就相当于运行了函数rcl了。如果rcl()还有输出而你又要用到这些输出,可改用语句$(./filea arg1,arg2)并把这个结果赋给一个变量,以保存其输出。
在需要调用这个函数的另外一个文件fileb中,直接运行filea这个脚本并传入参数,即在fileb文件中用语句./filea arg1,arg2之类(或者前面再加一个source命令),这样就相当于运行了函数rcl了。如果rcl()还有输出而你又要用到这些输出,可改用语句$(./filea arg1,arg2)并把这个结果赋给一个变量,以保存其输出。
|
脚本语言嘛,先读取该函数所在的文件
SHELL 的话执行一下即可
. xxx.sh
或
source xxx.sh
SHELL 的话执行一下即可
. xxx.sh
或
source xxx.sh
|
他这里的xxx是指文件名,当然如果跟你的“另外一个文件”不在同一目录下,则这个文件要包含完整的路径名