Escape $用于命令行Ruby脚本

时间:2013-10-31 16:31:56

标签: ruby bash command-line

我有一个Ruby脚本,我想把钱当作命令行输入:

>ruby myscript.rb Rob $100

其中100美元是美元。

然而,$是bash中的一个特殊字符,它将$ 100解释为$ 1,当我想要完整的100美元时,我的Ruby脚本将获得“00”作为命令行输入(ARGV)。

有没有办法获得美元字段的非转义版本? (我知道'100美元'将保留原始值,但我已经获得的API意味着用户不会因为记住引用所有美元值而负担沉重)

提前感谢您的任何想法!

1 个答案:

答案 0 :(得分:0)

难道你不能用一点点不同的方法吗?像这样:

puts "Provide your name:"
name = gets.chomp
puts "Hey, #{name}, how much are you ready to pay?"
money = gets.chomp
puts "#{name}, thanks for your #{money}"

从用户那边看起来像:

# Provide your name:
# Rob
# Hey, Rob, how much are you ready to pay?
# $100
# Rob, thanks for your $100