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
----------------------------------------------
----------------------------------------------
#!/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
----------------------------------------------
评论
发表评论