Ruby 命令列選項

Ruby 命令列選項

Ruby 一般是從命令列執行,方式如下:

$ ruby [ options ] [.] [ programfile ] [ arguments ... ]

直譯器可以通過下列選項被呼叫,來控制直譯器的環境和行為。

選項描述
-a 與 -n 或 -p 一起使用時,可以開啟自動拆分模式(auto split mode)。請檢視 -n 和 -p 選項。
-c 只檢查語法,不執行程式。
-C dir 在執行前改變目錄(等價於 -X)。
-d 啟用除錯模式(等價於 -debug)。
-F pat 指定 pat 作為預設的分離模式($;)。
-e prog 指定 prog 作為程式在命令列中執行。可以指定多個 -e 選項,用來執行多個程式。
-h 顯示命令列選項的一個概覽。
-i [ ext] 把檔案內容重寫為程式輸出。原始檔案會被加上副檔名 ext 儲存下來。如果未指定 ext,原始檔案會被刪除。
-I dir 新增 dir 作為載入庫的目錄。
-K [ kcode] 指定多位元組字符集編碼。e 或 E 對應 EUC(extended Unix code),s 或 S 對應 SJIS(Shift-JIS),u 或 U 對應 UTF-8,a、A、n 或 N 對應 ASCII。
-l 啟用自動行尾處理。從輸入行取消一個換行符,並向輸出行追加一個換行符。
-n 把程式碼放置在一個輸入迴圈中(就像在 while gets; ... end 中一樣)。
-0[ octal] 設定預設的記錄分隔符($/)為八進位制。如果未指定 octal 則預設為 \0。
-p 把程式碼放置在一個輸入迴圈中。在每次迭代後輸出變數 $_ 的值。
-r lib 使用 require 來載入 lib 作為執行前的庫。
-s 解讀程式名稱和檔名引數之間的匹配模式 -xxx 的任何引數作為開關,並定義相應的變數。
-T [level] 設定安全級別,執行不純度測試(如果未指定 level,則預設值為 1)。
-v 顯示版本,並啟用冗餘模式。
-w 啟用冗餘模式。如果未指定程式檔案,則從 STDIN 讀取。
-x [dir] 刪除 #!ruby 行之前的文字。如果指定了 dir,則把目錄改變為 dir
-X dir 在執行前改變目錄(等價於 -C)。
-y 啟用解析器除錯模式。
--copyright 顯示版權宣告。
--debug 啟用除錯模式(等價於 -d)。
--help 顯示命令列選項的一個概覽(等價於 -h)。
--version 顯示版本。
--verbose 啟用冗餘模式(等價於 -v)。設定 $VERBOSE 為 true。
--yydebug 啟用解析器除錯模式(等價於 -y)。

單字元的命令列選項可以組合使用。下面兩行表達了同樣的意思:

$ ruby -ne 'print if /Ruby/' /usr/share/bin


$ ruby -n -e 'print if /Ruby/' /usr/share/bin