免费注册 查看新帖 |

Chinaunix

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

[学习分享] 问个脚本里语句执行的问题!! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-05-14 17:32 |只看该作者 |倒序浏览
在一些命令中,会有这样的语句

if [ -f /etc/init.d/functions ]; then
    . /etc/init.d/functions
elif [ -f /etc/rc.d/init.d/functions ]; then
   . /etc/rc.d/init.d/functions
else
   exit 1
fi
**************上面代码的出处是一个samba 安装后,在init.d/smb中的一部分。

上面的脚本中,functions 函数是做什么用的啊!不太明白(VI 这个命令后,只说是被大多数脚本用。在**目录下)

第二个问题  为什么 . 和/etc/init.d/functions 中间有空格,起到什么作用?这个脚本不就是判断一下这人文件存在不?. /etc/init.d/functions 段不明白了

我私下里把上面的代码弄执行了 .(空格)/etc/init.d/functions 没有什么效果?

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
2 [报告]
发表于 2013-05-14 18:01 |只看该作者
上面的脚本中,functions 函数是做什么用的啊

那个是脚本,不是你说的函数.在那个脚本里面定义了一些shell函数
为什么 . 和/etc/init.d/functions 中间有空格

.是shell命令,等于source,作用就是执行那个脚本文件

论坛徽章:
48
15-16赛季CBA联赛之青岛
日期:2021-01-07 13:41:2315-16赛季CBA联赛之上海
日期:2020-12-01 18:02:0720周年集字徽章-20	
日期:2020-10-28 14:14:2620周年集字徽章-20	
日期:2020-10-28 14:04:3015-16赛季CBA联赛之天津
日期:2020-10-18 22:51:412016猴年福章徽章
日期:2016-02-18 15:30:3415-16赛季CBA联赛之北控
日期:2015-12-22 13:30:48操作系统版块每日发帖之星
日期:2015-12-07 06:20:00操作系统版块每日发帖之星
日期:2015-09-04 06:20:002015亚冠之德黑兰石油
日期:2015-08-05 18:46:082015年亚洲杯之巴勒斯坦
日期:2015-04-19 10:42:502015年亚洲杯之巴林
日期:2015-04-09 08:03:23
3 [报告]
发表于 2013-05-14 18:12 |只看该作者
要知道/etc/init.d/functions干什么的,你得查看那个脚本里面的内容。

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
4 [报告]
发表于 2013-05-15 09:37 |只看该作者
我私下里把上面的代码弄执行了 .(空格)/etc/init.d/functions 没有什么效果?

source之后,就可以在后面的shell里面执行/etc/init.d/functions里面定义的函数了。

论坛徽章:
0
5 [报告]
发表于 2013-05-15 10:48 |只看该作者
回复 2# chenyx

./
. /
上面两个没有区别?
执行命令不是中间不能有空格!

还有就是,这段代码是在init.d 启动目录下的一些自己安装软件时候生成的或是自己按照 说明写的。比如:samba和thttpd,apche 这些应该都有这段代码!

看了functions内家 比较乱!


   

论坛徽章:
0
6 [报告]
发表于 2013-05-15 10:49 |只看该作者
回复 4# Shell_HAT


   
你说的是相当于c语言里面说的 先声明函数,在使用吧!!

functions里面东西还真看不太明白是什么!

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
7 [报告]
发表于 2013-05-15 10:57 |只看该作者
回复 5# sidney_zheng


    ./和. /当然有区别.
  前面我已经告诉你了,那个.和source命令是一样的.

论坛徽章:
0
8 [报告]
发表于 2013-05-15 11:11 |只看该作者
回复 7# chenyx


    回去看看source !!

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
9 [报告]
发表于 2013-05-15 11:12 |只看该作者
回复 6# sidney_zheng


    跟库有点类似

论坛徽章:
0
10 [报告]
发表于 2013-05-15 15:50 |只看该作者
functions是脚本而不是函数;
. /etc/init.d/functions中的.是运行这个脚本的意思
而./是指当前目录,有空格和没有空格是不一样的
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP