从ruby脚本执行shell命令

我正在尝试做这样的事情

listen_for /turn on the living room lights/i do system('/usr/bin/tdtool -n 1') say "Your lights is now turned on" request_completed end 

但是系统内部的命令没有运行,而是收到以下消息:

打开设备1, – 设备不支持您尝试使用的方法

如果我从shell运行完全相同的方法,它的效果很好,任何想法?

那是一个奇怪的。

试试system('./usr/bin/tdtool -n 1')

– >注意第一个斜杠(/)前的点(。

如果上面没有成功..也许你需要(’\’)斜杠而不是(’/’)..

我刚刚在我的机器上测试了这个..

 system("cls") system("cd\\") system("cd c:\\program files\\mysql\\mysql server 5.5\\bin") system("mysql.exe -u root -p") 

使用双斜杠’\\’作为’\’是Ruby中的转义字符。 希望有所帮助!