Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 12 Oct 2008 22:52:53 -0700
From:      Gary Kline <kline@thought.org>
To:        Jeremy Chadwick <koitsu@FreeBSD.org>
Cc:        mdh_lists@yahoo.com, FreeBSD Mailing List <freebsd-questions@FreeBSD.org>
Subject:   Re: rsync or even scp questions....
Message-ID:  <20081013055253.GC6708@thought.org>
In-Reply-To: <20081012084931.GA84974@icarus.home.lan>
References:  <7708.70177.qm@web56801.mail.re3.yahoo.com> <48F1B87E.6010803@infracaninophile.co.uk> <20081012084931.GA84974@icarus.home.lan>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Oct 12, 2008 at 01:49:31AM -0700, Jeremy Chadwick wrote:
> On Sun, Oct 12, 2008 at 09:42:38AM +0100, Matthew Seaman wrote:
> > mdh wrote:
> >> --- On Sat, 10/11/08, Gary Kline <kline@thought.org> wrote:
> >>> 	On the Ubuntu computer I am /home/kline; on my main
> >>> computer,
> >>> 	my home is /usr/home/kline.   The following sh script
> >>> worked
> >>> 	perfected when my home on "tao" [FBSD] was
> >>> /home/kline:
> >>>
> >>> P
> >>> #!/bin/sh
> >>>
> >>> PWD=`pwd`;
> >>> echo "This directory is [${PWD}]";
> >>>
> >>> scp -qrp  ${PWD}/* ethos:/${PWD}
> >>> ###/usr/bin/scp -rqp -i /home/kline/.ssh/zeropasswd-id
> >>> ${PWD}/* \ klin
> >>> e@ethos:/${PWD}
> >>>
> >>> 	Question #1: is there any /bin/sh method of getting rid of
> >>> the
> >>> 	"/usr"?  I switch off between my two computers
> >>> especially when
> >>> 	get mucked up, as with my upgrade to kde4.  (Otherwise, I
> >>> do
> >>> 	backups of ~kline as well as other critical directories.)
> >>>
> >>> 	Is there a way of automatically using rsync rather that my
> >>> 	kwik-and-dirty /bin/shell script?
> >>>
> >>> 	thanks, people,
> >>>
> >>> 	gary
> >>
> >> If what you wish to do is simply get rid of /usr in a string, you can use sed like so:
> >> varWithoutUsr=`echo ${varWithUsr} |sed -e 's/\/usr//'`
> >> After running this, where $varWithUsr is the variable containing a 
> >> string like "/usr/home/blah", the variable $varWithoutUsr will be equal 
> >> to "/home/blah".  I create simple scripts like this all the time to 
> >> rename batches of files, for example.  
> >>
> >> The easier way is probably just to not specify a dir to scp's remote 
> >> path though, since it defaults to the user's home directory.  
> >
> > Or, in anything resembling Bourne shell:
> >
> > varWithoutUsr=${varWithUsr#/usr}
> 
> And I'll take a moment to recommend Matthew's method, since it does not
> involve fork()ing an additional process.
> 
> When writing shell scripts in general, it's best if you can avoid
> spawning external processes for things which can be done easily
> (keyword: easily!) within Bourne natively.  There's no harm in doing it
> for more complex things, but fork() is somewhat expensive, and try to
> imagine what will happen to those scripts if the system lacks process
> table space, etc...  :-)  Best to try and make everything
> "self-contained" if possible.


	right; esp'ly since i'll be running at least two scripts daily--
	at a min.  besides, the simpler /bin/sh script is something i use
	to save code or prose just in case the sky falls!

	ah, no wonder this is the best list in the {known} universe

> 
> -- 
> | Jeremy Chadwick                                jdc at parodius.com |
> | Parodius Networking                       http://www.parodius.com/ |
> | UNIX Systems Administrator                  Mountain View, CA, USA |
> | Making life hard for others since 1977.              PGP: 4BD6C0CB |
> 

-- 
 Gary Kline  kline@thought.org  http://www.thought.org  Public Service Unix
        http://jottings.thought.org   http://transfinite.thought.org





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20081013055253.GC6708>