I am trying to get a list of /mnt/dosc excluding "Program Files" and
"quickenw" from within this script.  This is a stripped down version of
what would normally include variables, but it illustrates the concept.

Here is the script:

#!/bin/sh
paths_to_exclude="/mnt/dosc/Program?Files /mnt/dosc/quickenw"
call="find /mnt/dosc/"

for i in $paths_to_exclude ; do
       call="$call -path '"$i"' -prune -o"
done

call="$call -print"
echo "Calling..."
echo $call
$call

[end script]

Running this script generates the following:

Calling...
find /mnt/dosc/ -path '/mnt/dosc/Program Files' -prune -o -path
'/mnt/dosc/quickenw' -prune -o -print
find: paths must precede expression
Usage: find [path...] [expression]

However, running the command
find /mnt/dosc/ -path '/mnt/dosc/Program Files' -prune -o -path
'/mnt/dosc/quickenw' -prune -o -print


Generates the desired output.  

I assume part of the problem is the "?", but I have to keep the string
together or the for loop breaks it up.  Is there any other way to get
this thing to go thru the for loop intact?  Also, why does running the
same command as $call work from the command prompt?

Any help would be appreciated.

Kirk



_______________________________________________
Redhat-list mailing list
[EMAIL PROTECTED]
https://listman.redhat.com/mailman/listinfo/redhat-list

Reply via email to