以下是示例:
$ credits="29" ; echo "C=$credits" ; initial="1064" ; echo "C=$credits" ; limit=`expr $initial / 10` ; echo "C=$credits" ; if [ "$credits" -le "$limit" ] && [ ! "$initial" -eq "50" ] ; echo "C=$credits" ; then echo "C=$credtis" ; fi ; echo "C=$credits" ; echo "I=$initial"
C=29
C=29
C=29
C=29
C=
C=29
I=1064
$ c="29" ; echo "C=$c" ; initial="1064" ; echo "C=$c" ; limit=`expr $initial / 10` ; echo "C=$c" ; if [ "$c" -le "$limit" ] && [ ! "$initial" -eq "50" ] ; echo "C=$c" ; then echo "C=$c" ; fi ; echo "C=$c" ; echo "I=$initial"
C=29
C=29
C=29
C=29
C=29
C=29
I=1064
当var名称为" c"时,一切正常,但是当它"信用"时,我无法在if条件中使用var内容。 不明白为什么......
答案 0 :(得分:0)
如果两行代码中都有表达式,则表示问题格式不正确。具体来说,第一行在echo "C=$credits" ;
和if
的结尾之间包含不正确的then
:
if [ "$credits" -le "$limit" ] && [ ! "$initial" -eq "50" ] ; echo "C=$credits" ; then
应该是:
if [ "$credits" -le "$limit" ] && [ ! "$initial" -eq "50" ] ; then
echo "C=$credtis"
fi
这里重复同样的错误:
if [ "$credits" -le "$limit" ] && [ ! "$initial" -eq "50" ] ; echo "C=$credits" ; then
应该是
if [ "$credits" -le "$limit" ] && [ ! "$initial" -eq "50" ] ; then
echo "C=$credtis"
fi