当前位置:  技术问答>linux和unix

expr使用的问题

    来源: 互联网  发布时间:2015-01-11

    本文导语:  本人编写一脚本: #!/bin/sh #filename:static #the total capacity of some directories  TOTAL=0 echo "Input the year--month for static(YYMM) like 0212 :c" read YYMONTH echo "Input the capacity of your disk (/G):c" read DISKCAPACITY du -k |grep '$YYMONTH...

本人编写一脚本:
#!/bin/sh
#filename:static
#the total capacity of some directories 
TOTAL=0

echo "Input the year--month for static(YYMM) like 0212 :c"
read YYMONTH
echo "Input the capacity of your disk (/G):c"
read DISKCAPACITY
du -k |grep '$YYMONTH'|while read LINE
do 
CAPACITY=`awk '{printf("%d", $1)}'`
   for DIRCAPACITY in $CAPACITY
   do
   TOTAL=`expr $TOTAL + $DIRCAPACITY`
   done
done
TOTAL=`expr $TOTAL /1024 /1024` 
echo "the total capacity of the $YYMONTH is $TOTAL G"
if ("$DISKCAPACITY" -lt "$TOTAL");then
echo "the capacity of the directories is greater than the capacity of your disk.n"
echo "please replace the bigger disk which is greater than $DISKCAPACITY"
else
echo "OK!The capacity of your disk is greater than the capacity of the directories."
fi
exit 0

可老是有以下问题出现:
Input the year--month for static(YYMM) like 0212 :0211
Input the capacity of your disk (/G):8
expr: Syntax error

the total capacity of the 0211 is  G
./static.sh[22]: 8:  not found.
OK!The capacity of your disk is greater than the capacity of the directories.

希望指点!

|
有两个地方错了:
1。
TOTAL=`expr $TOTAL /1024 /1024`
应该改为
TOTAL=`expr $TOTAL / 1024 / 1024`
/后面要空格
2。
if ("$DISKCAPACITY" -lt "$TOTAL")
应该改为
if [ $DISKCAPACITY -lt $TOTAL ]
注意[后面和]前面要空格

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • synchronizeed(expr).expr应诶是什么样的类型。为什么我用一个int的,会出错。说incompatible types
  • 各位大仙给看看expr错在哪里啦
  • 请问:用 expr 1+1 为什么显示不2而是1+1呢
  • shell 循环 expr
  • expr: 语法错误
  • Java的表达式计算引擎 Expr4J
  • 请教大虾们:在shell脚本中如何用expr连续进行多个变量之间的计算


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3