快速业务通道

在Linux中利用变量给文件命名

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-05-01
操作系统就会提示错误,说%w是一个无效的参数.但是在cp命令中,则没有这个强制的限制.在中间加不加这个加号,都能够达到同样的效果.不过为了提高参数的准确性,最好大家还是按照这个echo命令可以认可的格式下.echo命令可以认可的格式,则在其他命令中是通用的.相反,其他命令中可以用的格是,在echo等命令上不一定通用.为了提高编写的脚本程序的移植性,最好能够采用通用的变量书写方式.
Empire CMS,phome.net


第三,在cp命令中如果使用时间变量的话,在使用双引号括起来.否则的话,系统会无法识别变量名称.而在echo命令中,则不能够使用双引号.如果使用双引号的话,则操作系统会认为这是一个常量,而不是一个环境变量.如上图所示,如果在echo命令中采用了双引号的话,则其直接显示的是双引号中的内容.而不会把双引号中的内容当作环境变量.这系统管理员在书写的时候,需要注意这个格式上的细微区别.

  第四,需要强调的是,在Linux操作系统的脚本程序,跟Windows操作系统中的脚本程序与命令行程序不同的是,前者对于脚本程序中的命令、参数都是区分大小写的.而在Windows操作系统中则是不区分大小写.在Linux操作系统中编写脚本程序或者使用命令变量的时候,一定要注意大小写是敏感的.通常情况下,Linux操作系统下所采用的变量、参数都是小写的.特别是那些以前从事Windwos操作系统的维护工作,而现在使用Linux操作系统,在这个转型的过程中,需要注意这方面的差异.

  四、其他需要提醒的注意点.

  cp mydb.log $(date %w)mydb.log,这个命令与上面的命令比较类似,但是这里笔者用的是$符号.虽然两者命令看起来比较类似,但是功能上有比较大的差异.在这个地方,其虽然也是利用星期几作为变量名,但是其参考的却是系统的时间,而不是文件创建的时间.即如果是星期四创建的文件,而在星期五进行复制作业,则其重命名的文件是5mydb.log.可见如果要采用的是系统的时间来作为参考变量的话,仍然需要采用$这个环境变量提示符.

  另外就是权限方面的问题.如采用非root用户创建了一个sh 文件(这相当于Windows操作系统下的bat文件),默认情况下这个文件的所有权人是无法执行这个文件的,其没有这个权限.为此系统管理员需要利用root帐户登陆,然后重新调整权限.如果不怎么熟悉调整权限的话,那么最简单的就是把所有权限赋予给所有的人.就chomd 777就可以完成了.不过如果采用的是其他的脚本程序的话,如定期删除某个文件,则会留下一定的安全隐患.为此在权限设计的时候,不能够贪图省力.还是应该遵循最小权限的原则,只给有需要的用户赋予其完成必要使命的最小权限.如这里所示,如果脚本编写完成,那么只需要给这个用户执行这个脚本程序的权限即可.系统管理员甚至可以不把这个脚本程序修改或者删除的权限给这个用户.防止其意外修改或者删除了这个脚本文件.

Empire CMS,phome.net

Empire CMS,phome.net

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号