06 June, 2006

線上字典 - 使用命令列

之前的 部落格 有提到線上字典。 之所以使用線上字典的原因是:方便。 不用 Dr.eye 這一類的軟體, 原因是軟體啟動速度太慢,我只要查字典就好,其它雜七雜八的翻譯功能,通通不需要。 考慮過 StarDict 這個軟體, 它是免費的,使用起來感覺跟 Dr.eye 差不多,啟動速度比 Dr.eye 快一點, 可是缺點是例句的排版很差,如下圖所示,只有牛津現代英漢雙解詞典有單字例句, 但是連基本的斷行都沒有,實在很難閱讀。

StarDict

最近還發現一家不錯的線上字典 Cambridge, 優點是它會將查詢單字的相關形態直接列出來,介面好看,缺點是沒有發音的功能。

我的作業系統是 M$ win2k, 使用 MinGW 提供的 bash 當做我的 shell。 為了在 shell 中直接查線上字典,我在 _bashrc 中寫了幾個簡單的 function:

function a()
{   start firefox "http://www.answers.com/$1" 
}
function d()
{   start firefox "http://tw.dictionary.yahoo.com/search?p=$1"
}
function dd()
{   start firefox "http://dictionary.cambridge.org/results.asp?searchword=$1"
}

下圖是在 shell 中使用 d 函式查詢 integrity 這個單字:

bash

要在 shell 下面使用 firefox 這個指令, 要先將 firefox.exe 的所在目錄加入 PATH,改變 PATH 的方法如下:

我的電腦 -> 內容 -> 進階 -> 環境變數 -> 系統變數 

選擇 PATH 這個變數,變數內容最後加上分號 ; 這個區隔符號,再加上 firefox.exe 的所在目錄即可。

底下介紹 start 這個神奇的指令。 在 firefox 前面加 start 是為了讓 start 生出一個 process 來執行 firefox, 如果不加 start 的話,就必須關掉 firefox 才能回到 shell。

附註:

  1. 如果去看 /bin/start 這個檔案的話,會發現檔案中的主要內容只有一行:
    cmd //c start "$@"
    
    其中 cmd 是 windows 內建的 shell,而 start 是 cmd 內的一個指令。
  2. start 還有一個很棒的特異功能,就是可以根據輸入檔案的副檔名來決定要用什麼程式來開啟輸入檔案。

No comments: