Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1260646
  • 博文数量: 264
  • 博客积分: 10772
  • 博客等级: 上将
  • 技术积分: 2325
  • 用 户 组: 普通用户
  • 注册时间: 2007-07-25 11:54
文章分类

全部博文(264)

文章存档

2012年(4)

2011年(51)

2010年(31)

2009年(57)

2008年(51)

2007年(70)

分类:

2009-01-10 17:02:12

while
----------------------------------------------
#!/bin/sh

if [ $# -lt 1 ]
        then
        echo "pls input count parameter"
        exit 1
fi


COUNT=1

while [ $COUNT -le $1 ]
do
        echo $COUNT
        COUNT=`expr $COUNT + 1`
done
----------------------------------------------
----------------------------------------------

if
----------------------------------------------
if [ $COUNT -eq 11 ]
        then
                echo "not handle"
        else
                echo $COUNT
fi
----------------------------------------------
----------------------------------------------


与或
----------------------------------------------
我想在[]里做一个判断,如满足a和b才执行,那么中间的符号是什么?
-------------------------------------------------------
if [ $xxx=a  -a  $xx=b ]
a means and

我想在[]里做一个判断,如满足a或b才执行,那么中间的符号是什么?
-------------------------------------------------------
if [ $xxx=a  -o  $xx=b ]
o means or
----------------------------------------------
----------------------------------------------

eval
----------------------------------------------
eval $COMMANDSTRING
将字符串拼好后传给eval执行即可
注意字符串中的引号和$之类的要转义
----------------------------------------------
----------------------------------------------


eval的作用是将一个字符串作为命令
那么,如果一个字符串是$COMMANDSTR
eval $COMMANDSTR
的结果怎么赋值给一个shell变量呢
比如我想
RESULT=eval $COMMANDSTR
这样是不行的
如果用
RESULT=`eval $COMMANDSTR`
也不行,因为它会去把$COMMANDSTR执行的结果再作为命令去执行

现在我的解决办法是
EVALSTR="RESULT=\`$COMMANDSTR\`"
eval $RESULT
就是直接将最终的赋值命令也拼成字符串,最后再eval
----------------------------------------------


阅读(930) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~