脚本可执行时如何获取命令行参数?

时间:2015-04-27 05:55:23

标签: ruby

我正在处理为我设置项目结构的简单脚本(目录/文件)。我有一个问题,检索作为命令行参数传递的参数:

#!/usr/bin/env ruby

project_name = ARGV.first

puts "Provide project name" ; abort if project_name.nil?

当我尝试运行它时,我得到:

$ ./creator test
Provide project name

可能我不知道什么。当我没有#!/ usr / bin / env ruby​​ 时,它的工作非常完美。

1 个答案:

答案 0 :(得分:1)

您的问题与使用$ ./creator test$ ruby creator test执行脚本无关。问题是您始终只使用puts "Provide project name"打印静态字符串。我认为这更像是你追求的目标:

#!/usr/bin/env ruby
project_name = ARGV.first
abort if project_name.nil?
puts "Provide #{project_name}"

此处project_name变量通过#{project_name}替换为字符串。