从ruby脚本执行shell命令

时间:2011-11-28 21:35:15

标签: ruby

我正在尝试做这样的事情

 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运行完全相同的方法,它的效果很好,有什么想法吗?

1 个答案:

答案 0 :(得分:0)

这是一个奇怪的。

尝试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中的转义字符。希望有所帮助!