《Shell指令碼學習指南》第一章 背景知識

2021-06-02 21:49:46 字數 1155 閱讀 6880

1.1 unix簡史

unix第一版誕生於2023年,也就是貝爾實驗室退出multics專案不久。

在unix廣受歡迎的功能中,有許多是來自multics作業系統。

其中最著名的有:將裝置視為檔案,以及特意不將命令直譯器或shell整合到作業系統中。

簡單、務實、優雅

unix是在面向研究的環境下開發的,因而沒有必要生產或銷售成品的盈利壓力。

系統由使用者自行開發,即使用者就是開發人員。他們都是計算機科學家,分享給同樣是計算機科學家的

同事,因此衍生出「務實」的設計模式。他們在精益求精的同時,不斷追求「優雅」 - 簡單就是力量。

1.2 軟體工具的原則

一次做好一件事

這個原則的結果自然就是會不斷產生出更小、更專用於特定功能的程式。

處理文字行,不要處理二進位制

文字行可以用任何文字編輯器來編輯,也可以在網路與各種機器架構之間傳輸。

二進位制是平台相關的。

使用正規表示式

使用正規表示式能簡化命令指令碼的工作。

posix標準提供兩種正規表示式:bre(與grep一致的正規表示式)和ere(與egrep一致的)。

預設使用標準輸入/輸出

在未明確指定檔名時,程式預設從標準輸入讀取資料,將資料寫到標準輸出。

這樣可以輕鬆地讓它們成為資料過濾器,組成複雜的管道或指令碼。

避免喋喋不休

不要將「開始處理」,「即將完成」,「處理完成」這類資訊放進程式的標準輸出。

將這樣的資訊送往管道,別指望執行結果會像預期的一樣。在工具程式的世界裡,

沒有訊息就是好訊息。

讓工具去做困難的部分

雖然unix程式並非完全符合你的需求,但是現有的工具或許可以為你完成90%的工作。

接下來可以編寫乙個功能特定的小型程式來完成剩下的工作。

1.3 小結

unix沒有盈利上的壓力,再加上pdp-11小型計算機的能力有限,因而程式都以小型、優雅為圭臬。

shell指令碼攻略學習心得 第一章

export可以匯出環境變數和設定環境變數 path 這個環境變數的作用時,在終端輸入命令後會在 path中依次查詢相關命令執行 獲得字串長度echo echo uid如果等於0則說明當前使用者是超級使用者 檔案描述符 通過重定向可以將命令的輸出從列印到螢幕到列印到檔案 0 stdin 標準輸入 1...

shell指令碼學習指南 學習筆記 1 6章

grep 找資料 sed 替換輸資料 cut 格式化文件 join 連線,連線前排序 sort 排序資料 uniq 資料排重 fmt 格式化文字 awk 重組資料,文字 wc 計算行數l,位元組數c,字數w lp 列印 tr 轉義字元 readonly 設為唯讀 export 匯入當前環境 unse...

第一章 shell程式設計

shell的變數分為兩種環境變數和本地變數 檢視環境變數 env 列印環境變數 printenv 本地變數 新建本地變數 diner eqewqeqe 注意 新建本地變數是,等行前後不能加空格,要不然會出錯。檢視本地變數 set grep diner 本地變數匯入到環境變數 export diner...