我是在 Unix shell 环境中编程的一个相对较新的人,我有一个关于如何获取目录大小的问题。我读过您可以执行以下命令;du、du -b 等等。但是,当我尝试将其放入我的程序中时,它会以某种方式返回路径名而不是实际的目录大小。这就像串联不起作用或什么的。.garbage 文件肯定在我的主目录中,所以我不知道问题出在哪里。这可能是我忽略的一些愚蠢的错误。如果任何一双新鲜的眼睛或有 UNIX 经验的人可以帮我看看这个,我将不胜感激!这是我的外壳代码:
#!/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."