scripting problem

Broekman, Maarten Maarten.Broekman at FMR.COM
Mon Jan 28 21:08:33 UTC 2008


You could push the ls output through sed to remove the spaces for the
for-loop and then again when you are inside the loop.

DIRSTOBACKUP=`/bin/ls -d1 /home/user/* | /bin/sed -e 's/ /=/g'`
for NAMEDIR in ${DIRSTOBACKUP[@]}
 do
     DIR=`echo $NAMEDIR | /bin/sed -e 's/=/ /g'`
     echo $DIR
 done

It's a bit round-about but it'll get around the spaces.


Maarten Broekman

-----Original Message-----
From: redhat-list-bounces at redhat.com
[mailto:redhat-list-bounces at redhat.com] On Behalf Of Aaron Bliss
Sent: Monday, January 28, 2008 4:01 PM
To: General Red Hat Linux discussion list
Subject: Re: scripting problem

Steve,
The easiest way to work around the space problem is to just use tar to 
backup the home directory.

Aaron

Steven Buehler wrote:
> I am hoping that someone here can help me with this.  I am running a
little
> script that backs up some directories for me.  Below is snippet that
gets me
> into trouble.
> ---------------------
> #!/bin/sh
> DIRSTOBACKUP=`/bin/ls -d1 /home/user/*`
> for NAMEDIR in ${DIRSTOBACKUP[@]}
> do
> echo $NAMEDIR
> done
> ---------------------
>
> The problem is that some of the directories have spaces in the names.
When
> running the for loop, it will take the new NAMEDIR at the space.  So
"Red
> Hat" would end up listing as 2 directories, "Red" and "Hat".  Any way
around
> this?
>
> Thanks
> Steve
>
>   

-- 
Aaron Bliss
Systems Administrator
SUNY Brockport
(585) 395-2417

-- 
redhat-list mailing list
unsubscribe mailto:redhat-list-request at redhat.com?subject=unsubscribe
https://www.redhat.com/mailman/listinfo/redhat-list




More information about the redhat-list mailing list