移至主內容
DarkRanger's Secret Area

主導覽

  • 首頁
  • 關於本站
  • Linux
  • 程式開發
  • N900
  • 譯文
  • 資訊技術辭典

文章分類

  • 影劇
  • 遊戲
  • 筆記
  • 雜文
  • 資訊技術
  • 站務訊息

最新內容

  • How-To:Linux 安裝 DevilutionX
  • 於 2012 年建立的一份音樂播放清單
  • How-To:Linux 安裝 Medal of Honor: Allied Assault
  • Fallout 4 (2015)
  • How-To:Linux 安裝 Blood
  • 《終極動員令》系列早期作品原始碼釋出
  • How-To:Linux 安裝 Doom 3
  • Nausicaä of the Valley of the Wind (1984)
  • Intel 內顯與 Linux 桌面死當問題排解
  • 《哥吉拉 -1.0》心得補遺

Command Line Wizardry

發表日期:星期日, 11/14/2021 - 21:52

Ars Technica 網站有一個寫得很好的教學專題:Command Line Wizardry,內容非常清晰易懂,說明了數種在 Unix-like 命令行介面下的實務操作需求。第一篇介紹 sed、awk 及 grep 這幾款常見的文字工具;第二篇則說明 Bash 的變數宣告、迴圈,以及進一步組織成批次化腳本執行的方式。很適合新手或者是像 DR 這種記憶力不好的人,作為隨手的參考資源。

 

不過其實 DR 自己很少寫 Bash 腳本,會寫成 Bash 腳本的,通常都是單純一連串的指令集合。但只要是更加程式化,或者邏輯性更重的,那麼只要環境許可,則多半會用 Python 來寫。這或許是因為,DR 始終覺得 Bash 腳本看起來像是火星文,不太對味……相形之下 Python 則清晰很多。

 

Bash 腳本的一個優勢,是很容易就可以擷取命令行程式的執行結果,處理後再傳送給其它程式執行。但其實在 Python 下也不難做到,特別是 Python 本身也有很方便的字串處理能力,而且有不只一種能夠執行外部程式的途徑。比方說,倘若是單純執行指令但不意欲取得結果的話,可以使用 os.system("command");至於若需要取得結果,則可以利用 os.popen("command").read() 的回傳值。不過需要留意的是,os.popen().read() 只會取得標準輸出(stdout)的訊息。倘若覺得有必要取得標準錯誤(stderr)之訊息,則需要再找尋其它的實作方式。

 

資訊技術