免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
论坛 程序设计 Shell 求助
123
最近访问板块 发新帖
楼主: princeduan
打印 上一主题 下一主题

求助 [复制链接]

论坛徽章:
0
21 [报告]
发表于 2012-02-08 10:37 |只看该作者
从代码来看,如果以 “logging <logfile> <command string>"调用函数则return 0;如果以”logging <logfile>,logging <command string>“这两种方式调用函数,则把命令的执行时间,命令的执行过程中打印到终端的信息以追加重定向模式到指定的文件。解释下函数的执行过程:logging接受<logfile>,logging <command string>两种类型的参数,执行时将<logfile>也就是日志文件的位置赋值给FILE变量,再用shift指令将<logfile>从参数列表中删除,余下的参数统一赋给CMD变量;if判断如果CMD变量非空或者FILE变量非空,就return零值结束函数,否则继续执行后续命令。11-16行被称为【here文档】,用于将脚本文件中指定位置的命令输出,以追加模式重定向到FILE变量指定的文件中。`date +'%Y/%m/%d %H:%M:%S'`指令记录执行时间,`eval ${CMD}`指令将<command string>的内容以shell指令执行,执行的输出重定向到FILE变量指定的文件中。

论坛徽章:
0
22 [报告]
发表于 2012-02-08 15:04 |只看该作者
>if判断如果CMD变量非空或者FILE变量非空,就return零值结束函数,否则继续执行后续命令。

!表示相反意思,是不是应该为CMD变量为空或者FILE变量为空??

论坛徽章:
0
23 [报告]
发表于 2012-02-08 15:14 |只看该作者
CMD=S@
还是
CMD=$@
?

不好意思,CMD=$@


楼主不会是看着显示器屏幕把服务器上的脚本抄下来,再一个一个字母打出来发帖吧?

论坛徽章:
0
24 [报告]
发表于 2012-02-08 15:34 |只看该作者
回复 22# princeduan

不好意思,的确是我理解错了,这里应该是if判断CMD变量或FILE变量为空就结束函数,否则继续执行...
以logging <logfile>或loging <command string>的方式调用函数会退出函数,以logging <logfile> <command string>方式调用会记录<command string>运行时间和输出到FILE变量指定的文件中
   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP