Unix commands(13)

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

         {
            cat <
               This is a generic command line parser demo.
               USAGE EXAMPLE: cmdparser -l hello -f -- -somefile1 somefile2
               HELP
            exit 0
         }
          while [ -n "$1" ]; do
        case $1 in
       -h) help;shift 1;; # function help is called
       -f) opt_f=1;shift 1;; # variable opt_f is set
        -l) opt_l=$2;shift 2;; # -l takes an argument -> shift by 2
        --) shift;break;; # end of options
       -*) echo "error: no such option $1. -h for help";exit 1;;
       *) break;;
          esac
          done
          echo "opt_f is $opt_f"
          echo "opt_l is $opt_l"
          echo "first arg is $1"
          echo "2nd arg is $2"
  您可以这样运行该脚本:
                 cmdparser -l hello -f -- -somefile1 somefile2
  返回的结果是:
             opt_f is 1
             opt_l is hello
             first arg is -somefile1
             2nd arg is somefile2
  这个脚本是如何工作的呢?脚本首先在所有输入命令行参数中进行循环,将输入参数与case表达式进行比较,如果匹配则设置一个变量并且移除该参数。根据unix系统的惯例,首先输入的应该是包含减号的参数.

第2部分 实例
    现在我们来讨论编写一个脚本的一般步骤。任何优秀的脚本都应该具有帮助和输入参数。并且写一个伪脚本(framework.sh),该脚本包含了大多数脚本都需要的框架结构,是一个非常不错的主意。这时候,在写一个新的脚本时我们只需要执行一下copy命令:
cp framework.sh myscript
 然后再插入自己的函数。
  让我们再看两个例子:
  二进制到十进制的转换
  脚本 b2d 将二进制数 (比如 1101) 转换为相应的十进制数。这也是一个用expr命令进行数学运算的例子:

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

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

快速直达

操作系统导航

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

豫ICP备11007008号-1