Tcl 8.5 exec调用Ruby:未按预期工作

Tcl 8.5 exec调用Ruby:未按预期工作,tcl,exec,Tcl,Exec,我想做一件相当简单的事。 如果我在LINUX会话上运行: ruby -e 'puts "yey"' 我进入LINUX控制台: yey 我想使用tcl的exec,所以我使用: puts [ exec "/usr/bin/ruby" "-e" "'puts \"yey\"'] 但是我得到一个空字符串 为什么?你不需要在报价方面如此努力: puts [exec ruby -e {puts "hello world"}] 请记住,单引号在Tcl中没有任何意义,请使用大括号获得与shell单引号相

我想做一件相当简单的事。 如果我在LINUX会话上运行:

ruby -e 'puts "yey"'
我进入LINUX控制台:

yey
我想使用tcl的exec,所以我使用:

puts [ exec "/usr/bin/ruby" "-e" "'puts \"yey\"']
但是我得到一个空字符串

为什么?

你不需要在报价方面如此努力:

puts [exec ruby -e {puts "hello world"}]
请记住,单引号在Tcl中没有任何意义,请使用大括号获得与shell单引号相同的效果