shell脚本如何调用另外一个shell脚本的函数?

casio 2009-09-28 03:23:05
在 /home/a/a.sh 定义了函数fun(),现在有如下要求:

1、写个命令行, 调用 /home/a/a.sh 中的fun()函数
2、调用此函数的命令行形如 被调用文件所属路径+被调用脚本所属文件名+被调用函数名+被调用函数参数

例如:/home/a/a.sh::fun para1 para2


请问该如何处理?谢谢!
...全文
2069 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
casio 2009-09-28
  • 打赏
  • 举报
回复
谢谢大家,问题自己解决了,和分享一下答案:

`. /home/xxx/common.sh;Writelog xx`;

感谢fox000002的提示
fox000002 2009-09-28
  • 打赏
  • 举报
回复
system 相当于 fork + exec

相当于两个 system 命令运行于不同的子 SHELL

casio 2009-09-28
  • 打赏
  • 举报
回复
没响应:(
casio 2009-09-28
  • 打赏
  • 举报
回复
我现在是用perl调用sh脚本common.sh中的一个函数,在perl里面我这样写的:

#载入函数文件
system(". /home/xxx/bin/common.sh");

#调用函数
system("WriteLog xx xx");

结果提示说是没WriteLog命令,我原来的想法是把它合并成以下可能就能解决
system(". /home/xxx/bin/common.sh::WriteLog xx xx");

就此问题,不知道各位老师有什么好的解决办法?谢谢!
steptodream 2009-09-28
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 steedhorse 的回复:]
偶觉得要跨文件调函数的话,还是别用shell脚本了,用别的脚本语言多好,比如python。
[/Quote]
确实呀 每门语言都有他的短处
steptodream 2009-09-28
  • 打赏
  • 举报
回复
这个还真没用过
晨星 2009-09-28
  • 打赏
  • 举报
回复
偶觉得要跨文件调函数的话,还是别用shell脚本了,用别的脚本语言多好,比如python。
casio 2009-09-28
  • 打赏
  • 举报
回复
晕,不会没人知道吧?

23,217

社区成员

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

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