获取unix shell中目录的大小

时间:2013-02-09 02:48:22

标签: shell unix size tcsh

我是Unix shell环境中编程的新手,我对如何获取目录大小提出了疑问。我读过你可以做的命令如: du,du -b等。但是,当我尝试将它放在我的程序中时,它会以某种方式返回路径名而不是实际的目录大小。这就像连接不起作用或其他东西。 .garbage文件肯定在我的主目录中,所以我不知道问题是什么。这可能是我忽略的一些愚蠢的错误。如果有任何一双新眼睛或有UNIX经验的人可以为我看看这个,我将非常感激!这是我的shell代码:

    #!/bin/tcsh -f

set n = 1

mkdir -p ~/.garbage

while ($n <= $#argv)
 if ( -d $argv[$n] ) then
   echo "$argv[$n] is a directory and cannot be removed"
 else


     mv $argv[$n] ~/.garbage

     echo "The file moved to the garbage directory was: "$argv[$n] "\n"

 endif 
@ n++
end

  echo "The garbage bin's size is: " du ~/.garbage "bytes."

1 个答案:

答案 0 :(得分:5)

您似乎错过了在回显线上使用命令替换。 您必须使用此类反对标记将您的电话与du -sh联系起来

echo "size is:" `du -sh` "...."