18687286 发表于 2012-07-25 22:54

case条件参数问题

case "$1" in
      --) shift ; break ;;
      -a) shift ; APPEND=yes ;;
      -n) shift ; BOARD_NAME="${1%_config}" ; shift ;;
      -t) shift ; TARGETS="`echo $1 | sed 's:_: :g'` ${TARGETS}" ; shift ;;
      *)break ;;
      esac
这里的判断条件
--
-a
-n
-t
都代表什么意思,man里也没有讲。翻了几本书都没有说。

daniel_kohler 发表于 2012-07-26 07:03

回复 1# 18687286


这个是SHELL脚本啊,
case "$1" in
      --) shift ; break ;;
      -a) shift ; APPEND=yes ;;
      -n) shift ; BOARD_NAME="${1%_config}" ; shift ;;
      -t) shift ; TARGETS="`echo $1 | sed 's:_: :g'` ${TARGETS}" ; shift ;;
      *)break ;;
      esac
就是当第一个参数($1)为--、-a、-n或者-t执行相应的操作,其它(*)则不执行任何操作。

18687286 发表于 2012-07-26 10:50

daniel_kohler 发表于 2012-07-26 07:03 static/image/common/back.gif
回复 1# 18687286



-- -a -t -n没有什么特殊的意思吗?

daniel_kohler 发表于 2012-07-27 01:08

回复 3# 18687286


    -a后面对应的操作就是它的特殊含义,

18687286 发表于 2012-07-27 10:02

daniel_kohler 发表于 2012-07-27 01:08 static/image/common/back.gif
回复 3# 18687286



我没表达清楚?不是问case怎么用,后面的语句是干什么的。

这里的$1,在shell的参数内,不会是-- -a -n -t中的任意一项,
这里的-- -a -n -t应该是作为一个options,但是查又查不到case有这几个options,我问的是这几个options是什么含义。
如果这个地方确实没有这个options,那就是写这个shell的人修改过别的地方这里忘记改了。
页: [1]
查看完整版本: case条件参数问题