Unix commands(27)

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

               [ "$1" = "-h" ] && help
               # send the escape sequence to change the xterm titelbar:
                 echo -e "33]0;$107"
                #
            在脚本中提供帮助是一种很好的编程习惯,这样方便其他用户(和您)使用和理解脚本。
        命令行参数
  我们已经见过$* 和 $1, $2 ... $9 等特殊变量,这些特殊变量包含了用户从命令行输入的参数。迄今为止,我们仅仅了解了一些简单的命令行语法(比如一些强制性的参数和查看帮助的-h选项)。 但是在编写更复杂的程序时,您可能会发现您需要更多的自定义的选项。通常的惯例是在所有可选的参数之前加一个减号,后面再加上参数值 (比如文件名)。有好多方法可以实现对输入参数的分析,但是下面的使用case表达式的例子无遗是一个不错的方法。
         #!/bin/sh
         help()
         {
            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"
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

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

快速直达

操作系统导航

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

豫ICP备11007008号-1