我安装了一个gem,当有人输入“ls”时,显示一列火车在终端屏幕上移动的ascii图像。我也有一个名为runner.rb的文件。如何在ruby文件中运行命令行命令?
如果可能的话,我怎样才能从Ruby文件内输入“ls”命令到终端?
我安装了一个gem,当有人输入“ls”时,显示一列火车在终端屏幕上移动的ascii图像。我也有一个名为runner.rb的文件。如何在ruby文件中运行命令行命令?
如果可能的话,我怎样才能从Ruby文件内输入“ls”命令到终端?
cmd = "ls > somefile.txt"
system(cmd)
,甚至只是单纯
system("ls")
因此,你可以使用系统。
您还可以使用(`)字符从ruby文件执行Linux命令。
例如
`ls` ## OR `whoami` etc.
如果要执行的命令,如果你坐在壳(所以它的输出显示等),使用system
。
> system('ls')
Look At All
My Cool Files
=> true
如果要捕获输出以供使用,请使用反引号。
> files = `ls`
=> "Look\nAt\nAll\nMy\nCool\nFiles\n"
可以在反引号内插,如果你想(和很明显,你传递给system
字符串中)。
查看我们的[5种在ruby中运行命令的方式](http://mentalized.net/journal/2010/03/08/5-ways-to-run-commands-from-ruby/) – Anthony