2010年3月17日 星期三

高中趣事 - 學習如何寫一個 shell

高中有不少有趣的事, 趁著現在還記得的時候, 來記錄一下好了。

高中時受到資源限制, 社團裡有些書是用印的。有些書是因為絕版了, 為了方便學習只好作惡。但有些書不知為啥, 明明用印的也沒較便宜, 學長卻跑去用印的, 實在是頗.......嗯, 不精明的的行為。

有本教 linux programming 的書, 附錄有附上作者自己寫的簡易 shell。原書應該有附光碟, 但.....咳咳, 所以我沒拿到光碟。我想說就把它 key 進電腦裡, 邊 key 邊學也不壞啊。想我剛學 HTML 時, 就是三天熱血灌腦 (簡稱腦殘) 地把書上全部範例 key 進電腦執行, 同時學會 HTML 和英文盲打 (這樣頭才不會一直上下轉動而扭到), 超划算的。

就在 key 完數十頁、近千行的程式碼後, 按下 make, 迎面而來的是一堆 compile error。我弄了半天, 最後發覺書上沒印清楚, 有些頁的最後一行沒印出來.......。

忘了後來怎麼修的, 我記得有把程式弄到可以跑, 但後來也沒學到啥。花一堆時間 key 完殘缺不全的程式, 卻毫無收獲。這故事告訴我們, 要尊重版權啊!!

話說回來, 我當時怎麼沒想到上網搜, 或寄信和原作者要呢? 當時年紀小, 傻傻不懂事只有熱血。現在懂事了, 熱血卻沒當年的一半, 唉呀呀。

2 則留言:

  1. The book is "Linux Application Development" by Michael K. Johnson and Erik W. Troan (both early Red Hat people). (http://ladweb.net/)

    The sample shell program is 'ladsh':
    http://ladweb.net/src/index.html

    The reason to photocopy a book when buying a new one is cheaper is this:
    Say you bought and read three books and would now like to give copies to underclassmen. You remember two of the books were quite expensive so you go to the photo copy shop without doing a copy-to-buy price comparison on the price of the third.

    I learned how to use 'strace' and other useful Linux development tricks from this very book.

    回覆刪除
  2. Haha, thanks for explanation.

    Sometimes I wonder whether or not I should reread those unfinished books in the past. Anyway, I memorize the book name now.

    回覆刪除