From: Karl Voit Date: 2006-10-06T17:00:05+09:00 Subject: system() and changing (path-)environment Hi! I want to replace some shellscripts using ruby and therefore I need a method to execute external scripts (ksh). Without rewriting a lot of scripts, I need the possibility to execute external scripts in another directory (as the ruby-script) but within their directory context: path1 -> rubyscript.rb module.rb path2 -> shellscript.ksh anotherscript.ksh path3 -> last_script.ksh found_another_one.pl shellscript.ksh calls the other scripts using relative path statements but when I use system("path2/shellscript.ksh"), shellscript.ksh is started with the rubyscript.rb-directory context and within shellscript.ksh, the call of "./anotherscript.ksh" or "path3/last_script.ksh" results in "script not found here you fool!". I tried some things like system("cd path2; shellscript.ksh") system("ENVIRONMENTVARIABLE=something shellscript.ksh") but none of them worked out. What do you suggest? -- Karl Voit