Hi all,
I just have a little question: Is there a way to change the working directory of my terminal with something in OSProcess? I mean: - I know I can change the working directory of the current process with "OSProcess thisOSProcess chDir: '/'" but of course it does nothing on the terminal - "OSProcess thisOSProcess command: 'cd /'" does absolutly nothing I hope it's clean enough. Regards, Adrien. |
On Tue, May 10, 2011 at 04:02:02PM +0200, Adrien BARREAU wrote:
> > Hi all, > > I just have a little question: > Is there a way to change the working directory of my terminal with something in OSProcess? > > I mean: > - I know I can change the working directory of the current process with "OSProcess thisOSProcess chDir: '/'" but of course it does nothing on the terminal > - "OSProcess thisOSProcess command: 'cd /'" does absolutly nothing > > I hope it's clean enough. > > Regards, > Adrien. > The Unix or Windows concept of "current working directory" does not really have any meaning in Squeak/Pharo itself. In Unix, which maintains a single tree structured view of the file system(s), you may think of it as associated with the shell that you are running. In Windows it is similar but needs to accommodate the idea of separate volumes (C:, D:, etc). The CommandShell package is a companion to OSProcess that implements a simulation of Unix and Windows shell behaviour. Try loading CommandShell in addition to OSProcess and I think that you will find what you are looking for. If your question refers to a Unix (Linux, OS X, etc) platform, and you are trying to do is change the current working directory for the terminal from which you started your Pharo image, then it's a different issue. This is basic Unix behavior - the program you are running (the VM) is a child process of the program that started it (the shell in your terminal window). A child process does not have access to its parent process to do things like change its working directory. So when you are doing things such as setting environment variables and so forth, it affects the process that you are current in (the VM process), and has no effect on the parent (the shell in your terminal window). HTH, Dave |
thanks david for your explanations!
On May 12, 2011, at 11:13 PM, David T. Lewis wrote: > On Tue, May 10, 2011 at 04:02:02PM +0200, Adrien BARREAU wrote: >> >> Hi all, >> >> I just have a little question: >> Is there a way to change the working directory of my terminal with something in OSProcess? >> >> I mean: >> - I know I can change the working directory of the current process with "OSProcess thisOSProcess chDir: '/'" but of course it does nothing on the terminal >> - "OSProcess thisOSProcess command: 'cd /'" does absolutly nothing >> >> I hope it's clean enough. >> >> Regards, >> Adrien. >> > > The Unix or Windows concept of "current working directory" does not > really have any meaning in Squeak/Pharo itself. In Unix, which maintains > a single tree structured view of the file system(s), you may think of > it as associated with the shell that you are running. In Windows it > is similar but needs to accommodate the idea of separate volumes > (C:, D:, etc). > > The CommandShell package is a companion to OSProcess that implements > a simulation of Unix and Windows shell behaviour. Try loading CommandShell > in addition to OSProcess and I think that you will find what you are > looking for. > > If your question refers to a Unix (Linux, OS X, etc) platform, and you > are trying to do is change the current working directory for the terminal > from which you started your Pharo image, then it's a different issue. > This is basic Unix behavior - the program you are running (the VM) is > a child process of the program that started it (the shell in your > terminal window). A child process does not have access to its parent > process to do things like change its working directory. So when you > are doing things such as setting environment variables and so forth, > it affects the process that you are current in (the VM process), and > has no effect on the parent (the shell in your terminal window). > > HTH, > Dave > > |
Free forum by Nabble | Edit this page |