From: Brian Candler Date: 2009-09-04T01:16:56+09:00 Subject: Re: declare a shell alias in a ruby file Jean-s辿bastien Jney wrote: > Hello, > > I'm trying to declare a shell alias from a ruby file. > > here is the file test.rb : > # begin test.rb > `alias world='echo hello'` > # end test.rb > > I'm launching it : >> ruby test.rb > > Then launching the alias : >> world > -bash: world: command not found > > Does anyone know how do i declare a shell alias from a ruby file ? You cannot. The processes are started as follows: your shell --------------> ruby process --------> another shell ruby test.rb `xxx` Each process is completely independent of the others - with its own address space, and its own copy of the ENVironment. When the second shell terminates, it cannot affect the ruby process, nor the original shell which started that ruby process. The only way you can do this is from the original shell itself. Either type your alias command at the shell prompt, or put it in a file and do . myscript The dot (.) means "read this file and execute it as commands within this shell" You may find the comp.unix.shell FAQ helpful. -- Posted via http://www.ruby-forum.com/.