随笔-46  评论-64  文章-2  trackbacks-0

问题,向脚步传递参数的时候如何取得一个一个的option

办法一: 就是一个一个读 用$#取得变量个数,然后读$1 $2 $3,不是很方便

查了一下命令手册:发现用getopts命令更方便,man page不是很好懂

直接看 Example.sh:

# !/ bin / sh

while  getopts 'a:b:c' myoption
    
do
    
case  $myoption  in
        a) ls 
- al
        ;;    
        b) ls 
- l $OPTARG    
        ;;
        c) ls 
- l    
    esac
    done


用法和效果:
Example.sh -a stringa
就会执行 ls -al 这个命令, stringa 其实不起左右,但是这个参数还是要的

Example.sh -b -lrt
那就会执行 ls -l -lrt 传进去的参数起作用了

当然也可以这样
Example.sh -a 123 -b -lrt z, 这个作用就是两个命令都执行了


可以用变量保存这些OPTARG参数,在while循环外面接着使用

posted on 2007-10-30 14:46 jht 阅读(2186) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: