当前位置:  开发笔记 > 后端 > 正文

是否可以使用反引号将参数连接到命令行?

如何解决《是否可以使用反引号将参数连接到命令行?》经验,为你挑选了2个好方法。

我想从我的ruby脚本执行OS命令,但我想从ruby变量中添加一个参数.

我知道可以使用这样的关键字系统:

#!/usr/bin/env ruby
directory = '/home/paulgreg/'
system 'ls ' + directory

但这可能是通过使用"反引号或反引号语法"吗?(我的意思是通过使用语法:ls)



1> Jordi Bunste..:

不,这只会连接输出ls和内容directory.

但你可以这样做:

#!/usr/bin/env ruby
directory = '/home/paulgreg/'
`ls #{directory}`



2> 小智..:
`ls #{directory}` 

是不是很安全,因为你将遇到包含空格的路径名的问题.

做这样的事更安全:

directory = '/home/paulgreg/'

args = []
args << "/bin/ls"
args << directory

system(*args)

推荐阅读
TXCWB_523
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有