we ran into the same problem. How we managed to get around it was to put all of our commands in a single run method separated be semi-colons. They will then be run in the same shell. Something like this:
run "echo hello; echo world" Hope that helps. Tony On 10/10/08, Jamis Buck <[EMAIL PROTECTED]> wrote: > > Currently, no. I'm experimenting with making capistrano use net-ssh- > shell under the covers...but it's a drastic change, and introduces > some potentially surprising side-effects. E.g., changing the directory > in one task means that all other tasks will be run from that > directory, which can be nasty if they assume they are being run from > the user's home directory (as is currently the case). Also, any > attempt to automate an interaction with a persistent shell is fragile, > requiring (as it does) expect-like code to watch for the termination > of each command. Lastly, it makes it harder to run multiple commands > in parallel on a single host, which is currently possible in > Capistrano, but which would require rethinking if I go with net-ssh- > shell. > > At any rate, if I go with this, it'll probably be part of the next > generation of Capistrano (e.g, 3.0), rather than a point release, so > don't hold your breath for it. > > - Jamis > > On Oct 10, 2008, at 5:41 AM, Kut wrote: > >> >> Hi, >> >> I am trying to run multiple commands inside task block using run >> methods. After observing capistrano code I came to know that for each >> run call a seperate shell is created and thus previous commands >> enviroment changes(like modifying path) won't be available for >> subsequent run calls. Is there any alternative way to force all run >> methods to use single shell for a given host ? >> >> > > > > > > i --~--~---------~--~----~------------~-------~--~----~ To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/capistrano -~----------~----~----~----~------~----~------~--~---
