我正在处理为我设置项目结构的简单脚本(目录/文件)。我有一个问题,检索作为命令行参数传递的参数:
#!/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 时,它的工作非常完美。
答案 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}
替换为字符串。