On Aug 12, 2010, at 8:47 PM, Jeff Forcier wrote:
> 
> You can modify env.shell to remove the -l flag to address that
> specific issue; see http://docs.fabfile.org/0.9.1/usage/env.html#shell
> for details.

Ah, didn't think of that. Seems a good idea.

> 
> (BTW, you can see exactly what is being passed down the line for all
> your commands by specifying --show=debug or setting output.debug=True.
> This will show the bash wrapper if it's enabled, as well as any
> escaping being done.

Nice.
> 
> 
> This is simply how SSH works; commands invoked directly assume a
> starting working directory of the connecting user's homedir. I'm not
> aware of any way to change this offhand.

Yeah, guess it has to -- to find your authorized keys, etc.
>> 
> To keep state you need to perform tricks such as prefixing each
> command with "cd <somewhere> && <actual command>". Fabric has some of
> these build in, such as "with cd():", which I see you've already found
> -- there's a more generic "with prefix():" coming in the next release
> or two, too.

Been doing a bunch of this, works fine.

>>  sudo -H -u username pwd
>> 
> An interesting idea. I'm not sure I'd want that to be the default, for
> a handful of reasons, but one of the nice things about Fabric being
> pure Python is that you can easily define your own higher level
> wrapper functions, like those in fabric.contrib.
> 
> So you could write your own sudo function (either shadowing the
> builtin or with a tweaked name) and use that pretty easily (especially
> once we add more dependency injection, e.g. allowing you to pass in
> the "runner" to use for high level stuff like contrib.files.append()).

I'll take a whack at that.  It's nice that fabric is so easy to work with, 
being python.

Thanks for all your help!


_______________________________________________
Fab-user mailing list
Fab-user@nongnu.org
http://lists.nongnu.org/mailman/listinfo/fab-user

Reply via email to