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
-~----------~----~----~----~------~----~------~--~---

Reply via email to