I'm not sure whether this is possible or not, but I know that Ruby allows you to make system calls in many different ways, and I generally use: system "echo Hello" or something when I want to call outside of the script. What I would like to know is if it is possible to make these system calls interactive? For instance, I was toying with directory manipulation using system "cd .." system "pwd", etc., and I noticed that no matter what the call, Ruby will always return to the same directory on the system "pwd" command. I was wondering if it is possible to send multiple commands so you could be a bit more interactive with it? I know there are libraries out there to do this for me, but I am looking at this more from the standpoint that I'm not planning on using this ability for directory manipulation. Another thing I was wondering is whether you can get output from the terminal on system calls. I tried somethign like this: system "pwd" gets directorystring puts directorystring Only my script doesn't get the input at all, and hangs(expecting an input I assume). How can you usefully use system for calling functions if it doesn't remember state(directory, for instance), or allow you to get back terminal information?