我对
Ruby命令行选项感到困惑. -C dir和-X dir都删除目录,但它们如何相互不同?
> -x [dir]与-X目录有什么不同?
> -I dir做什么(我知道它添加了dir作为加载库的目录)?
解决方法
让我们在主目录中创建一个test.rb文件,其中包括:
hello #!/usr/bin/ruby p "here"
现在,如果我们尝试运行它:
ruby -C /home/my_home test.rb
这意味着将工作目录更改为/ home / my_home并运行test.rb会出现错误:
test.rb:1:in `<main>': undefined local variable or method `hello' for main:Object (NameError)
如果我们运行它:
ruby -x /home/my_home test.rb
我们将“打印”到这里并且没有错误. -x和-C之间的主要区别在于-x删除#!/usr/bin/ruby行之前的所有内容.当使用-x时,您也不必将目录设置为cd.因为-x的主要目的是删除行,如果需要,它也只包括-C功能.
cd /home/my_home; ruby -x test.rb
见(ruby –help)
> -Cdirectory cd to directory,在执行脚本之前
> -x [directory]在#!ruby line之前删除文本,也许cd到目录
至于-I.您可以提供ruby将搜索您执行或要求的文件的目录.
ruby -x test.rb
除非您在/ home / my_home中,否则Ruby将找不到test.rb文件.但是如果你添加-I ruby也会在“/ home / my_home”中查找test.rb.
ruby -x -I/home/my_home test.rb
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。