[EMAIL PROTECTED] wrote:

  First, a pet peeve of mine: Use

	for i in * ;

instead of

	for i in `ls` ;
I always forget that it can be done that way, but in fact, in this case I was ls'ing a diff't directory. I just posted a simplified version to the list. Also, I recall from an earlier discussion on this list that "find" is generally better to use in situations like this than "ls" but "ls" takes less arguments, and I just wanted to quickly get an estimate of a directory's disk usage, not write a true full-blown shell script. I'll try to remember that I can glob instead.

A corrected version of your original might be:

for i in * ; do du -khs "$i" ; done

The loop variable is placed in double-quotes to make sure the "du" command
sees it as a single word. Otherwise, if one of your directories contained
spaces or other shell meta-characters, it would get mangled by the shell
before it got passed to "du". The rest of the command ("du" and "-khs") you want parsed as individual words so they get handled by the shell as the
command to run and said command's arguments, respectively.
Good point.

  Hope this helps,
Yes it does.  Thank you.


Erik

_______________________________________________
gnhlug-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss

Reply via email to