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可以调用此函数?
...全文
226 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
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,用完之后再改回来就行了

23,217

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧