与Ruby中的-T,-F,-K,-i命令行选项混淆

时间:2013-01-11 12:28:27

标签: ruby ruby-1.9

您能否帮我理解以下选项在现实生活中的作用?

  • -T [level]
  • -K [kcode]
  • -F pat
  • -i [ext]

1 个答案:

答案 0 :(得分:2)

我找到了以下resource,这可能会对您有帮助,我会在对您的问题摘要进行快速破解后,从页面中删除引号以回答您的问题。

-T选项与Ruby脚本的安全级别相关,而 -k,指的是使用的字符代码集。 -F用于模式匹配,最后,-i用于编辑代码的参数。我现在引用相关部分来提供更多信息:

-T [水平}     设置安全级别,其中包括污点检查。 这基本上是一个安全级别,有几个选项,请参阅this

0    No checking of the use of externally supplied (tainted) data is performed. This
     is Ruby's default mode.
>= 1 Ruby disallows the use of tainted data by potentially dangerous operations.
>= 2 Ruby prohibits the loading of program files from globally writable locations.
>= 3 All newly created objects are considered tainted.
>= 4 Ruby effectively partitions the running program in two. Nontainted objects may not 
     be modified. Typically, this will be used to create a sandbox: the program sets up 
     an environment using a lower$SAFE level, then resets $SAFE to 4 to prevent 
     subsequent changes to that environment.

-K kcode     指定要使用的代码集。该选项主要在使用Ruby时很有用     日语处理。 kcode可以是以下之一:e,E表示EUC; s,S表示SJIS;你,你     UTF-8;或a,A,n,N代表ASCII。

-F模式     指定用作split()的默认值的输入字段分隔符($;)(影响-a)。

-i [extension}     编辑ARGV文件。对于在ARGV中命名的每个文件,您写入标准的任何内容     输出将作为该文件的内容保存回来。该文件的备份副本将     如果提供延期,则可以制作。

希望有所帮助。干杯!