我來一個一個反駁題主的觀點。題主的問題是"會一門指令碼語言,學 bash 就顯得浪費時間?",首先,我雖然是搞MySQL的,但是,我精通shell和Python。所以,剛好滿足題主的前提條件——會一門(而我是精通)指令碼語言,學bash顯得浪費時間嗎然後,我們看一下題主的描述。“bash雖然有if_else,可以調系統命令。但是許多侷限性比如不支援多執行緒,沒有庫。所以會py或者ruby再去學bash,這是沒必要的"。這裡,我覺得題主對bash的認識有偏差,有誰用bash搞多執行緒的。bash是一個指令碼,它並不像Python和Ruby這種也被認為是指令碼語言的語言,它是純粹的指令碼,並沒有人用bash來寫服務。那我們為什麼還要用bash呢?正如Achilles Kars 說的:學習 bash,並不僅僅是學習 bash 本身的語法,而是要去學習一下各種命令列工具的使用方式……說到底,一切都是為了提高生產效率啊!我上週要部署一個Python的Flask服務,QA希望我們寫一段指令碼來控制服務的啟動、停止和重啟,然後我就花3分鐘完成了這樣一段指令碼。請問,用什麼其他指令碼能比shell指令碼更合適、更快呢?
我來一個一個反駁題主的觀點。題主的問題是"會一門指令碼語言,學 bash 就顯得浪費時間?",首先,我雖然是搞MySQL的,但是,我精通shell和Python。所以,剛好滿足題主的前提條件——會一門(而我是精通)指令碼語言,學bash顯得浪費時間嗎然後,我們看一下題主的描述。“bash雖然有if_else,可以調系統命令。但是許多侷限性比如不支援多執行緒,沒有庫。所以會py或者ruby再去學bash,這是沒必要的"。這裡,我覺得題主對bash的認識有偏差,有誰用bash搞多執行緒的。bash是一個指令碼,它並不像Python和Ruby這種也被認為是指令碼語言的語言,它是純粹的指令碼,並沒有人用bash來寫服務。那我們為什麼還要用bash呢?正如Achilles Kars 說的:學習 bash,並不僅僅是學習 bash 本身的語法,而是要去學習一下各種命令列工具的使用方式……說到底,一切都是為了提高生產效率啊!我上週要部署一個Python的Flask服務,QA希望我們寫一段指令碼來控制服務的啟動、停止和重啟,然後我就花3分鐘完成了這樣一段指令碼。請問,用什麼其他指令碼能比shell指令碼更合適、更快呢?
這裡我簡單說明一下,`kill -9`確實挺危險的,不過,我們的服務都是部署在lxc裡面,是隔離的,所以才會這麼用。大家都很聰明,也非常仔細,任何時候我們`kill -9`都需要三思。對於shell指令碼感興趣的同學,推薦看我這個回答下的學習材料推薦:學習 shell 有什麼好書推薦? - 知乎使用者的回答