pau*_*reg 1 ruby command-line command-line-interface
我想从我的ruby脚本执行OS命令,但我想从ruby变量中添加一个参数.
我知道可以使用这样的关键字系统:
#!/usr/bin/env ruby
directory = '/home/paulgreg/'
system 'ls ' + directory
Run Code Online (Sandbox Code Playgroud)
但这可能是通过使用"反引号或反引号语法"吗?(我的意思是通过使用语法:ls)
不,这只会连接输出ls和内容directory.
但你可以这样做:
#!/usr/bin/env ruby
directory = '/home/paulgreg/'
`ls #{directory}`
Run Code Online (Sandbox Code Playgroud)
小智 6
`ls #{directory}`
Run Code Online (Sandbox Code Playgroud)
是不是很安全,因为你将遇到包含空格的路径名的问题.
做这样的事更安全:
directory = '/home/paulgreg/'
args = []
args << "/bin/ls"
args << directory
system(*args)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2571 次 |
| 最近记录: |