Wilson Bilkovich
10/24/2006 6:28:00 PM
On 10/24/06, robertlaferla@comcast.net <robertlaferla@comcast.net> wrote:
> I am trying to construct a command line to be executed using backquote `` notation. i.e. capturing the output to a string
>
> e.g.
>
> #!/usr/bin/ruby -w
> file = "/etc/motd"
> string = `"cat " + file`
> puts string
>
> % ruby test.rb
> sh: line 1: cat : command not found
>
> This doesn't work. It appears that everything between the backquotes is treated as a quoted string. i.e. no variable substitution takes place.
>
> How can I work around this?
>
>
The backtick string is treated like a double-quote. Therefore, you can do this:
file = '/etc/motd'
motd = `cat #{file}`
puts motd