shell函数如何load?

junnyfeng 2005-10-30 01:43:30
有个文件里有函数
#!/bin/sh
findit()
{
if [ $# -lt 1 ]

then
echo "usage: findit file"
return 1;
fi
find / -name $1 -print
}

怎么load进环境,让其他shell可以调用此函数?
...全文
105 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
junnyfeng 2005-10-30
嘿,我知道了
回复
kiron 2005-10-30
source filename
. filename
回复
junnyfeng 2005-10-30
这个可以放到.profile文件里面
----------
慢!
现在先解决从脚本中怎样load shell函数的问题
回复
mefit 2005-10-30
这个可以放到.profile文件里面
回复
junnyfeng 2005-10-30
修改/etc/passwd把默认shell改成bash吧。
--------------
这个好像不是这么简单。我用root权限改了,但登陆始终还是csh。这个设定似乎只能在一开始建用户的时候设。


现在函数是可以load进环境了,在命令行下打findit可以执行。但写个shell来调用这个findit()竟然不行。
回复
yyy790601 2005-10-30
修改/etc/passwd把默认shell改成bash吧。
回复
junnyfeng 2005-10-30
谢谢楼上提醒,我默认的是csh,好像不支持load函数(如果知道csh里load函数写法请告知我)。转换到sh或bash下,一切都正常了。越来越发觉csh不很好用了,很多东西都没支持(还是我不知道怎么用?)
回复
tb01412 2005-10-30
#!/bin/sh这一行需要作一点改动就行了啊
比如如果用sh的话,就直接去掉最前面的#,当然,每一种SHELL所支持的内部语法不一样,如果某种SHELL不支持的话,你只能在执行此函数之前先改成用支持它的SHELL,用完之后再改回来就行了
回复
相关推荐
发帖
Linux/Unix社区
创建于2007-08-27

2.0w+

社区成员

Linux/Unix社区 应用程序开发区
申请成为版主
帖子事件
创建了帖子
2005-10-30 01:43
社区公告
暂无公告