* benny <listen / marcrenearns.de> [1024 10:24]:

> Inside the session-daemon I used 
> 
>  result = `#{cmd}`
> 
> to execute the command and it worked quite well.
> however I wanted to get the error-messages as well, so I considered using
> Session::Bash:
> 
>  stdout, stderr = Session::Bash::new.execute "#{cmd}"

I'll leave aside the whole security thing of this for now :)
 
> for most command that works fine, but I have a shell script (first
> line /usr/local/bin/bash) which returns some messages using "echo".
> this messages never get into stdout (the new way) but the get back to result
> (the old way). I also tried "/usr/local/bin/bash myshellscript" but that
> didn't work ether. what am I missing?

Perhaps echo is a shell built in - that might confuse things..
Try /bin/echo and see if that makes any difference?

> when 'session_daemon_starter.sh'  is automatically started with the system
> start the session-daemon is running, accepting messages via drb, sending
> messages via drb but doesn't execute any shell commands: 
> neither via   
>  result = `#{cmd}` 
> nor via  
>  stdout, stderr = Session::Bash::new.execute "#{cmd}"

Are you setting a path in the script? When you run it from your shell it inherits
all your environment, but the rc.d scripts run as root *cough* security hole *cough*....


-- 
Robots don't have emotions, and that sometimes makes me feel sad. - Bender
Rasputin :: Jack of All Trades - Master of Nuns