put shell("cd ..; pwd") would appear to do what you want. There is going to be no state maintained between different calls of shell(). Thus, changing to a directory in one calls is not (IMO) going to be maintained on a subsequent call of shel|(). Concatenating commands (as I did above using the semi-collon), will mean they run in the same invocation.
If you use 'cd' inside a shell such as Tclsh, it will maintain the state of the change in directory. But even in something like Tclsh, there are peculiarities around file globbing etc. I guess you could try 'open process' and then 'talk' to the shell opened that way. Although it's not clear to me that both of you are trying to do the same thing. It looks like the OP may be planning to use LiveCode as a general purpose shell-scripting language. I'm not sure that is possible any more. The way he is invoking it is rather like using PHP as a general purpose shell-scripting language. Bernard On Mon, Nov 14, 2011 at 8:12 AM, Peter Alcibiades <palcibiades-fi...@yahoo.co.uk> wrote: > I'm having trouble with the livecode shell and cd command also. > > pwd in a terminal does: > > :~/ runrev 4.5/livecode-4.5.2$ > > cd .. > > :~/ runrev 4.5$ > > pwd > > runrev 4.5$ > > If you do the exact same things using put shell("...."), this doesn't work. > In particular, > > put shell("pwd") > > does indeed return the working directory, but > > put shell("cd ..") > > does not work at all. Why not? Probably an obvious reason - is it > something to do with escaping characters? > > Peter _______________________________________________ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode