免费注册 查看新帖 |

Chinaunix

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

一个小问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-02-23 21:18 |只看该作者 |倒序浏览
有一段shell脚本,如下:
for library in $LIBRARIES; do
    if [ -f $library ]; then
. $library
    else
echo "$library does not exist!" >&2
exit 2
    fi
done


其中的 library是一个文件,里面全部都一个个是函数,现在我要问的就是 . $library是代表什么意思,把library这个文件里面的东西执行一次吗,请注意,这里的 .(点)后面有空格,然后再是 $library
其中$library这个所代表的文件不一定是可执行的

论坛徽章:
0
2 [报告]
发表于 2008-02-23 21:20 |只看该作者
. $library 引用这个文件里的函数

论坛徽章:
0
3 [报告]
发表于 2008-02-23 21:47 |只看该作者
.本身就是一个命令,类似sh,只是不另启进程,而是在当前进程执行

论坛徽章:
0
4 [报告]
发表于 2008-02-23 21:51 |只看该作者
引用$library中的函数?您的意思是将它里面的函数都执行一边吗?

论坛徽章:
0
5 [报告]
发表于 2008-02-23 22:03 |只看该作者
您的意思是这段程序所在的脚本再执行了. $library之后,就可以调用$library中的函数了是吧,而不是去执行里面的函数是吧?只是告知它的存在,是否这么理解,谢谢!

论坛徽章:
0
6 [报告]
发表于 2008-02-23 22:05 |只看该作者
差不多就是你说的意思

论坛徽章:
0
7 [报告]
发表于 2008-02-24 11:08 |只看该作者
在当前进程下执行这个文件
而不是开启一个子进程

论坛徽章:
0
8 [报告]
发表于 2008-02-24 13:34 |只看该作者
. or source 都是在当前进程执行此文件,而不是开启子进程执行
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP