私はUnixシェル環境でのプログラミングに比較的慣れていないので、ディレクトリのサイズを取得する方法について質問がありました。次のようなコマンドを実行できることを読みました。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."