Unix commands(11)

来源:未知 责任编辑:责任编辑 发表时间:2013-11-17 14:40 点击:

          if [ -f "$file" ] ; then
             newfile=`echo "$file" | sed "s/${OLD}/${NEW}/g"`
             if [ -f "$newfile" ]; then
                  echo "ERROR: $newfile exists already"
             else
                  echo "renaming $file to $newfile ..."
                  mv "$file" "$newfile"
              fi
            fi
           done
        这是一个复杂一些的例子。让我们详细讨论一下。第一个if表达式判断输入命令行参数是否小于3个 (特殊变量$# 表示包含参数的个数) 。如果输入参数小于3个,则将帮助文字传递给cat命令,然后由cat命令将其打印在屏幕上。打印帮助文字后程序退出。 如果输入参数等于或大于3个,我们就将第一个参数赋值给变量OLD,第二个参数赋值给变量NEW。下一步,我们使用shift命令将第一个和第二个参数从 参数列表中删除,这样原来的第三个参数就成为参数列表$*的第一个参数。然后我们开始循环,命令行参数列表被一个接一个地被赋值给变量$file。接着我 们判断该文件是否存在,如果存在则通过sed命令搜索和替换来产生新的文件名。然后将反短斜线内命令结果赋值给newfile。这样我们就达到了我们的目 的:得到了旧文件名和新
文件名。然后使用mv命令进行重命名。
          4)函数
             如果您写了一些稍微复杂一些的程序,您就会发现在程序中可能在几个地方使用了相同的代码,并且您也会发现,如果我们使用了函数,会方便很多。一个函数是这个样子的:
          functionname()
          {
                 # inside the body $1 is the first argument given to the function
                 # $2 the second ...
                             body
            }
          您需要在每个程序的开始对函数进行声明。
   下面是一个叫做xtitlebar的脚本,使用这个脚本您可以改变终端窗口的名称。
           这里使用了一个叫做help的函数。正如您可以看到的那样,这个定义的函数被使用了两次。
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • /etc/fstab 详解
  • nginx主主集群
  •  LVS-NAT和LVS-DR模式的实现详解
  •  RHCE考试之磁盘配额
  • 学习笔记:ACL详解
  • suse linux双网卡双网关配置
  •  LVM逻辑卷管理器
  •  Nginx主主负载均衡架构
  • ubuntu学习Mysql

快速直达

操作系统导航

LinuxWindows虚拟机
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1