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>