免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 7047 | 回复: 10
打印 上一主题 下一主题

[请教]如何在shell中实现函数文件import,详情入内 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-01-27 14:47 |只看该作者 |倒序浏览
想把一些常用的函数分别放到独立的函数文件里,然后把这些函数文件放到一个目录下,使用时直接调用
记得有位兄弟说过,用export FPATH=$HOME/funcdir
但我还没有试成功

还有什么具体的要求吗
比如
在$HOME/funcdir中的函数文件名,函数名
调用方法,哪位知道的能不能给各例子阿
谢拉,谢拉

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
2 [报告]
发表于 2005-01-27 15:13 |只看该作者

[请教]如何在shell中实现函数文件import,详情入内

原帖由 "apee" 发表:
想把一些常用的函数分别放到独立的函数文件里,然后把这些函数文件放到一个目录下,使用时直接调用
记得有位兄弟说过,用export FPATH=$HOME/funcdir
但我还没有试成功

还有什么具体的要求吗
比如
在..........

我好象写过类似的一个文章~~
见:
http://www.linuxsir.org/bbs/showthread.php?t=173263

论坛徽章:
0
3 [报告]
发表于 2005-01-27 16:10 |只看该作者

[请教]如何在shell中实现函数文件import,详情入内

原帖由 "寂寞烈火" 发表:

我好象写过类似的一个文章~~
见:
http://www.linuxsir.org/bbs/sho wthread.php?t=173263




谢谢楼上的, 可是这个链接我这里打不开,(网络由限制 )能不能麻烦把大致内容粘贴一下,谢拉,谢拉

论坛徽章:
0
4 [报告]
发表于 2005-01-27 16:12 |只看该作者

[请教]如何在shell中实现函数文件import,详情入内

用自动导入函数的方法,可以在命令行下像执行命令一样快捷,而且速度快,占用资源少.
1,建立自己的函数库
mkdir functionlib
然后将常用的脚本改成函数的语法,如:
function filename { command ; }
将filename拷贝到functionlib中,
2,修改环境文件,在/etc/profile中添加
export FPATH=$HOME/functionlib
3,重登录一下
这样的话,你就可以随时用像ls那样运行你自己的filename"命令"
而不需要用什么dot,sh,来运行你的函数/脚本啦~~
如果在脚本中运行,可以在脚本顶部用
#!/bin/sh
##
autoload filename //来自动导入函数.
...
filename //调用函数
...

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
5 [报告]
发表于 2005-01-27 16:50 |只看该作者

[请教]如何在shell中实现函数文件import,详情入内

原帖由 "lemo" 发表:
用自动导入函数的方法,可以在命令行下像执行命令一样快捷,而且速度快,占用资源少.
1,建立自己的函数库
mkdir functionlib
然后将常用的脚本改成函数的语法,如:
function filename { command ; }
将filename拷贝..........

这个大概是我2年前学shell的时候的一点"心得"吧!~
其实,也可把类似的函数放在profile这样的文件里,效果是一样的!

论坛徽章:
0
6 [报告]
发表于 2005-01-27 18:12 |只看该作者

[请教]如何在shell中实现函数文件import,详情入内

对烈火兄方法的一点补充

在脚本里调用一个写在函数文件里的函数,可以在脚本开头先直接
. ./FUNCTION-FILE
即可

路径自己替换

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
7 [报告]
发表于 2005-01-27 18:14 |只看该作者

[请教]如何在shell中实现函数文件import,详情入内

原帖由 "bitbull" 发表:
对烈火兄方法的一点补充

在脚本里调用一个写在函数文件里的函数,可以在脚本开头先直接
. ./FUNCTION-FILE
即可

路径自己替换


我现在认为在profile里定义比较有意思
in /etc/profile:
...
a() { command;command;}
...
那么,在任何目录下都可以执行:
a #没考虑安全方面的

论坛徽章:
0
8 [报告]
发表于 2005-01-27 20:17 |只看该作者

[请教]如何在shell中实现函数文件import,详情入内

我目前使用的也是楼上各位兄弟所说的把函数放在 funcfile 里,然后再shell的开头用 . .funcfile 调用一下,但是这个有点小问题,就是函数太多了,找起来不方便,也怕误操作把以前写的函数改错了就麻烦啦,所以,每个函数用个单独的文件不是更好,呵呵

论坛徽章:
0
9 [报告]
发表于 2005-01-27 20:33 |只看该作者

[请教]如何在shell中实现函数文件import,详情入内

烈火兄,我用了你上面的方法,可是有些问题,我把程序放上来,各位帮我看看

首先 /mypath 为我存放函数文件的目录,然后修改 /$HOME/.profile
增加 export FPATH=/mypath
重新登录后用 echo $FPATH 看,设置已经生效

然后,在 /mypath 下创建函数文件 fecho ,内容如下

function fecho ()
{
echo $1;
}


然后,在任意目录下执行 fecho test ; 提示 command not fond
或者创建shell文件 test.sh,内容如下

export FPATH=/mypath

fecho test


也没有效果

论坛徽章:
0
10 [报告]
发表于 2005-01-27 20:41 |只看该作者

[请教]如何在shell中实现函数文件import,详情入内

原帖由 "寂寞烈火" 发表:


我现在认为在profile里定义比较有意思
in /etc/profile:
...
a() { command;command;}
...
那么,在任何目录下都可以执行:
a #没考虑安全方面的



常用的可以放进去,不过我说的是写项目时候对函数的处理,写一个FUN-FILE,在主程序里调用
至于写到PROFILE,这个应该只能自用,我们不能要求客户把我们的函数修改进PROFILE
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP