Bash 的简单等价物是什么
exec $0 $*
在红宝石?
http://www.ruby-doc.org/core-1.9.3/Kernel.html#method-i-exec
编辑
部分答案似乎是:
exec( "/bin/ls", *ARGV) # credits: http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/13379
那么接下来,变量$0
将保存当前脚本的完整名称和路径,还是 Ruby 二进制文件?在irb下只有“irb”返回,这意味着我至少需要找到并预先添加路径。
边缘的另一个解决方案来自 https://stackoverflow.com/a/2966988/1069375
cmd_line = "#{$0} #{ARGV.join( ' ' )}"
exec cmd_line
但是,如果可以将命令与其参数分开,则尝试似乎受外壳扩展的影响。它ARGV.join
本身会将所有论点塞在一起。