雖然大家都說不要重複造輪子,但這一系列偏偏要反其道而行!希望大家在從無到有實作出 Shell 的過程中,理解作業系統 Process、Standard IO、Signal 等等概念,同時也更了解 Go 語言能做到哪些事。不管你是想了解 Shell 原理、想更了解 Linux、還是想學 Go 都歡迎來看看這系列~
前言 昨天已經實作完 取(get) 環境變數的部分,今天來談談怎麼 存(set) 環境變數,也就是設置環境變數 export and unset 在 Linux...
前言 常常有人問我說用 command line 下指令的方式到底比用滑鼠操作 GUI(Graphical User Interface) 圖形介面 好在哪裡,...
前言 在 Day10 跟 Day11 中我們使用了 Go 提供的 os.Setenv 、 os.Unsetenv 跟 os.ExpandEnv 完成存取環境變數...
前言 昨天跟前天已經寫好三個實用的 function,分別是 setAlias、unsetAlias 跟 expandAlias,今日目標是要用它們來完成 al...
前言 今天是 alias 的最後一天,前兩天都寫了超多程式碼,今天的內容來點比較輕鬆的 不知道各位有沒有過這種困擾:如果我先把 ls 設定成 ls -l 的別名...
前言 不知道大家還記不記得有一個指令叫做 which,它可以用來找某個指令在哪裡,譬如說 which ls 可以找到 ls 是放在 /bin/ls 但如果是...
前言 接下來這兩天來講講 Linux 中的 Wildcard(萬用字元),在 Linux 裡面如果想要把目前資料夾下 .png 結尾的檔案都刪掉,或是要列出所有...
前言 昨天完成了 expandPattern 用來把 pattern 轉換成檔名字串,譬如說 expandPattern("m??go")...
前言 我們在 Day12 到 Day15 花了四天的篇幅把 alias 講完,但不知道大家有沒有想到,因為 alias 是記錄在 Shell 的 Alias T...
前言 昨天有提一下 rc 檔的使用情境和功能,簡單來說就是做初始化而已,今天我們要自己實作讀取 ~/.goshrc,話不多說馬上開始吧! 程式流程 開啟檔案 首...