Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6087019
  • 博文数量: 2759
  • 博客积分: 1021
  • 博客等级: 中士
  • 技术积分: 4091
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-11 14:14
文章分类

全部博文(2759)

文章存档

2019年(1)

2017年(84)

2016年(196)

2015年(204)

2014年(636)

2013年(1176)

2012年(463)

分类: LINUX

2014-04-20 11:42:58

     今天遇到一个实际的问题,需要向系统终端一次写入多个关键词,并且实现换行,于是自己去简单看了下Shell,现学现用吧,临时拼凑了一下,形成了下面的简单脚本:

点击(此处)折叠或打开

  1. #!/bin/bash
  2. #comment:

  3. echo "This is a shell to input multi-keywords into regexes..."


  4. if [ -f regexes ];then
  5.    rm -r regexes
  6. fi

  7. touch regexes

  8. echo "met" >> regexes
  9. echo "found" >> regexes
  10. for file in $*;do
  11.    echo $file >> regexes
  12. done
      懂Shell的童鞋一定发现代码不难,不过这是自己平生写的第一个Shell代码,作为一个入门,还是在这里简单说明一下吧!
     第一行#!用来说明本脚本使用什么Shell来解读,这里使用的是bash shell,其实还有cshell等其他shell,只不过bash shell开源免费,而且是Ubuntu的默认Shell;
     第二行开始#用来表示注释;
     第七行开始进行一个简单的文件判断,这里使用条件测试【】来实现,其中注意【与】与相邻的代码都必须有空格,否则会报错,【】内部是-f判断该变量是否为一个文件,当然也可以用来判断该文件是否存在,若存在,则删除;
     第十一行直接运行touch命令,可见在Shell脚本中可以直接使用Linux命令,很方便;有时候使用cat这样的命令,需要进行exit 0的退出,这里就不用了;
     第十三和十四行使用echo命令向文件写入内容;
     第十五行使用循环结构将参数全部按行追加到文件中,这里需要注意$#表示所有命令参数的个数(第一个$0为执行脚本的文件名,而$*表示所有的命令参数(不包含文件名),$1就表示第一个命令参数了,$2依次类推;for  x in S*; do---done
     下面是测试结果:

     
     
阅读(2870) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~