跳到主要內容

Unix「cat」程式實作

概念

  • 使用 Deno 執行時期 API 將檔案內容輸出至主控台。
  • Deno.args 存取命令列引數。
  • Deno.open 用於取得檔案的控制代碼。
  • Deno.stdout.writable 用於取得主控台標準輸出的可寫入串流。
  • Deno.FsFile.readable 用於從檔案取得可讀取串流。(此可讀取串流會在讀取完畢時關閉檔案,因此不需要明確關閉檔案。)
  • 模組可以從遠端 URL 直接執行。

範例

在此程式中,假設每個命令列引數都是檔案名稱,會開啟該檔案並印出至 stdout(例如主控台)。

/**
* cat.ts
*/
for (const filename of Deno.args) {
const file = await Deno.open(filename);
await file.readable.pipeTo(Deno.stdout.writable, { preventClose: true });
}

執行程式

deno run --allow-read https://deno.land/std/examples/cat.ts /etc/passwd