[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Shell Scripting Question



Sunny Dubey wrote:
> how come the followind doesn't seem to work ...
> 
> for i in `ls -1 /some/dir` ; do
>         cat /some/dir/"$i" >> /usr/fruits.txt
> done
> 
> cat just gives me the odd error of files not being found, however, I can't
> see why the files wouldn't be found ... hrrm ...
> 
> thanks much for any info you might provide

(I've assumed that your '1' is a one, not an L. My font makes them both
look the same, but coping and pasting it elsewhere reveals that it is
indeed a 'one')

In my experience, you don't need -1 to get one column - ls does it
automatically in some circumstances (try ls | less if you don't
believe). This shouldn't be causing the problem though.

The problem is that your variable i will be getting the values like
'/some/dir/file', not 'file' as you have assumed. Verify this by using
an echo:

	for i in `ls -1 /some/dir` ; do
		echo "variable i = $i"
	        cat /some/dir/"$i" >> /usr/fruits.txt
	done

... or by running with:

	$ sh -x <script>


Matthew



Reply to: