2015-05-30 153 views
2

我安装了一个gem,当有人输入“ls”时,显示一列火车在终端屏幕上移动的ascii图像。我也有一个名为runner.rb的文件。如何在ruby文件中运行命令行命令?

如果可能的话,我怎样才能从Ruby文件内输入“ls”命令到终端?

+1

查看我们的[5种在ruby中运行命令的方式](http://mentalized.net/journal/2010/03/08/5-ways-to-run-commands-from-ruby/) – Anthony

回答

3
cmd = "ls > somefile.txt" 
system(cmd) 

,甚至只是单纯

system("ls") 

因此,你可以使用系统。

2

您还可以使用(`)字符从ruby文件执行Linux命令。

例如

`ls` ## OR `whoami` etc. 
1

如果要执行的命令,如果你坐在壳(所以它的输出显示等),使用system

> system('ls') 
Look  At  All 
My   Cool  Files 
=> true 

如果要捕获输出以供使用,请使用反引号。

> files = `ls` 
=> "Look\nAt\nAll\nMy\nCool\nFiles\n" 

可以在反引号内插,如果你想(和很明显,你传递给system字符串中)。