若您在 IBM 作業系統開發過程式,必聽過 Rexx。Rexx 是 IBM 捆綁於大型主機、中型系統乃至手持裝置的腳本與命令語言。更鮮為人知的是,Rexx 几乎可在所有作業系統運行:Windows、Linux、UNIX、BSD、Mac OS、DOS、Windows CE、Palm OS、Symbian/EPOC32 皆有免費下載版本。學會 Rexx,即掌握一種從大型機到手持裝置皆可運行的通用腳本語言 — 功能強大適配大型機,彈性輕量適配嵌入式,且極易上手。
以下完整腳本讀取檔案逐行掃描「INVOICE OVERDUE」字串:
input = 'invoice_file.txt' /* 輸入檔名 */
do while lines(input) > 0 /* 還有行可讀 */
input_line = linein(input) /* 讀取下一行 */
if pos("INVOICE OVERDUE", input_line) > 0 then
say "Found it! Here's where:" input_line
else
say "Not found in this line:" input_line
end
input,字串可用單/雙引號括住do while 迴配合內建 lines() 函數判斷檔案是否讀完pos() 回傳字串出現位置(未找到回傳 0)say 指令自動串接多操作數輸出至螢幕a = 3
b = "4"
say a + b /* 7 */
say a || b /* 34 字串連接 */
c = "Hi!"
say a + c /* 錯誤:非數值不可加 */

Rexx 是典型「膠水語言」:輕鬆發送作業系統命令、串接現有代碼(命令、API、服務、物件、工具),產出遠超傳統編譯語言(C++、Java、COBOL)的生產力。
| 解釋器 | 平台 | 特色 |
|---|---|---|
| Regina | 所有主流 OS | 最流行、社群大、免費工具鏈、豐富擴展函數、專業文檔 — 初學者首選 |
| Rexx/imc | Linux/UNIX/BSD | UNIX/Linux 專用、長期支援 |
| BRexx | Linux/UNIX/Windows CE/Mac OS/DOS | 極快、低記憶體、資源受限系統適用 |
| Reginald | Windows | Windows 專用擴展(GUI、語音、MIDI、媒體)、替代 VBScript |
| r4 | Windows | GUI 表單工具、彩色編輯器、135+ Windows 命令、XML→HTML 轉換器 |
| Rexx for Palm OS | Palm OS | 腳本存取所有 Palm 資源(TCP/IP、IrDA、USB、序列埠) |
唯一不遵循 Rexx 標準的「類 Rexx」實作。將 Rexx 易用性引入 Java:使用 Java 類、可生成 Java 類/Bean/註解代碼、支援 Applet/Servlet、客戶端/伺服器端、任意 JVM 運行。
下一篇將深入 Rexx 程式設計技術細節,提供訪問 DB2 UDB 的實用腳本範例(採用 Regina Rexx + Windows DB2 UDB,介面可移植至 Linux/UNIX)。開源腳本語言的優勢在於海量免費參考資源 — 盡情撰寫腳本吧!