rsync or even scp questions....
Gary Kline
kline at thought.org
Mon Oct 13 05:52:58 UTC 2008
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 at 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 at 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 at thought.org http://www.thought.org Public Service Unix
http://jottings.thought.org http://transfinite.thought.org
More information about the freebsd-questions
mailing list