RE: scripting problem



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@xxxxxxxxxx
[mailto:redhat-list-bounces@xxxxxxxxxx] 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@xxxxxxxxxx?subject=unsubscribe
https://www.redhat.com/mailman/listinfo/redhat-list

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



Relevant Pages

  • Re: scripting problem
    ... while read NAMEDIR ... echo $NAMEDIR ... cat ls.out | while read NAMEDIR ... Hat" would end up listing as 2 directories, ...
    (RedHat)
  • Re: scripting problem
    ... How about a construction like one of these two instead: ... cat ls.out | while read NAMEDIR ... echo $NAMEDIR ...
    (RedHat)
  • RE: scripting problem
    ... Subject: scripting problem ... for NAMEDIR in $ ... backup the home directory. ... echo $NAMEDIR ...
    (RedHat)
  • Re: scripting problem
    ... your loop and restore it after it. ... The easiest way to work around the space problem is to just use tar to ... for NAMEDIR in $ ... running the for loop, it will take the new NAMEDIR at the space. ...
    (RedHat)