Provided by: manpages-zh_1.5.2-1_all bug

NAME

       subst - 替換檔案中的定義

總覽 (SYNOPSIS)
       subst [ -e editor ] -f substitutions victim ...

描述 (DESCRIPTION)
       Subst 能夠 替換 檔案 的 內容, 適用於 針對 本地情況 定制 軟體. 它 根據 substitutions 的 內容, 修改 每一個
       victim 檔案.

       在 substitutions 檔案 中, 每個 替換說明(substitution) 佔用 一行. 每一行 包含 兩個域, 用  一個或多個
       tab  符  隔開.   第一個 域 是 替換說明 的 (name), 第二個 域 是 它的 (value).  兩者 均不應該 包含
       ``#'' 字符; 而使用 文字編輯器 的 轉義符, 如 ``&'' 和 ``\'', 也是 不明智地; 名字 最好 限制在 字母和數字 中;
       以 ``#' 開始 的 行 是 注釋, 將被 忽略.

       在 victim 檔案 中, 每一個 需要 替換 的 行 () 必須 跟在 (prototype line) 後面. 原形行 應該
       有 這樣 的 限制: 將來 其他 程式 處理 這個檔案 的 時候, 它 被視為 注釋. 原形行 必須 包含  目標行  的  "原形",  該
       "原形" 用 ``=()<'' 和 ``>()='' 括起來, 這一行 的 其他內容 都被 忽略掉.  Subst 將 分析 這個原形, 尋找
       替換說明 中 名字域 的 所有 實例, 名字實例 是用 ``@<'' 和 ``>@'' 括起來的, 把 它們 改變成 對應的值, 然後 用這個
       結果 替換 目標行.

選項 (OPTIONS)
       -e     替換  操作  由 sed(1) 編輯器 完成, 它 必須 放在 /bin/usr/bin 目錄 下面. 用 ``-e''
              開關 可以 指定 一個 不同位置 的 執行程式.

示例 (EXAMPLE)
       如果 substitutions 檔案內容 是

              FIRST     111
              SECOND    222

       而 victim 檔案 是

              x = 2;
              /* =()<y = @<FIRST>@ + @<SECOND>@;>()= */
              y = 88 + 99;
              z = 5;

       那麼 ``subst -f substitutions victim'' 命令 把 victim 改變成:

              x = 2;
              /* =()<y = @<FIRST>@ + @<SECOND>@;>()= */
              y = 111 + 222;
              z = 5;

檔案 (FILES)
       victimdir/substtmp.new    建立出來的新版本檔案
       victimdir/substtmp.old    經過改名的老版本檔案

另見 (SEE ALSO)
       sed(1)

診斷 (DIAGNOSTICS)
       如果 subst 無法 創建 臨時檔案, 或者 臨時檔案 已經 存在, 程式 中止 並 報錯.

歷史 (HISTORY)
       Henry Spencer 寫於 U of Toronto.

       Rich $alz 在 1991 年 7 月 增加了 ``-e'' 選項.

BUGS

       當 創建 準備 用 subst 處理的 檔案 時, 很容易 忘記 在 原形行 後面 插入 一個 要命的 目標行; 如果 你  忘了  目標行,
       subst 最終 會 刪掉 原形行 下面一行, 不管 那行 是 什麼.

[中文版維護人]
       徐明 <xuming@users.sourceforge.net>

[中文版最新更新]
       2004/02/28

《中國Linux論壇man手冊頁翻譯計劃》
       http://cmpp.linuxforum.net