有用的腳本
v3.0.0-Alpha: a WIP
useful scripts for making developer's everyday life easier and happier, involved java, shell etc.
平時有用的手動操作做成腳本,以便捷地使用,讓開發的日常生活更輕鬆。 ?
歡迎? ?
本倉庫的腳本(如Java
相關腳本)在阿里等公司(如隨身雲,請參閱awesome-scripts
倉庫說明)的線上生產環境部署使用。
如果你的公司有部署使用,歡迎使用透過Issue:who's using | 使用者回饋收集告知,方便互相交流回饋~ ?
Java
相關腳本Shell
相關腳本Shell
腳本Shell
學習與開發的資料 source <( curl -fsSL https://raw.githubusercontent.com/oldratlee/useful-scripts/release-3.x/test/self-installer.sh )
更多下載&使用方式,請參閱下載使用。
Java
相關腳本Java
的CPU
效能問題( top us
值過高),自動查出運行的Java
進程中消耗CPU
多的線程,並列印出其線程棧,從而確定導致效能問題的方法呼叫。jar
檔和class
目錄中的重複類別。用於排查Java
類別衝突問題。jar
檔裡,找找類別或資源檔。Shell
相關腳本Shell
使用加強:
CTRL+C
操作,優化命令列與其它應用之間的操作流程。cat
/ tac
出檔案行,方便人眼區分不同的行。uniq
指令加強的是可以跨行去重,不需要排序輸入。Docker
使用的便利腳本。拷貝本機的執行檔到指定的docker container
中並在docker container
中執行。TCP
連線狀態的個數。用於方便排查系統連線負載問題。 Shell
開發/測試加強:
Terminator
的全部文字彩色組合的效果及其列印方式,用於開發Shell
的彩色輸出。為使用者提供有用的功能,當然是這個函式庫的首要的價值體現和存在理由。
但作為一個開源項目,每個人都可以看到原始碼實現,這個庫或許能做得更多。
Shell/Bash
作為線上生產環境所使用的專業程式語言。Shell/Bash
腳本生產環境級的嚴謹開發方式與最佳實踐,進而有可能範例與改善在生產環境中Shell
腳本的品質狀況。PS:
Shell
語言上一定會有很多理解和使用上的問題、在這些實現腳本中也會很多需要的改進,可以一起學習、討論與實踐~ ?Python
。 Shell
腳本命令列( CLI
)幾乎是每個程式設計師每天都在使用的工具。相較於圖形介面工具( GUI
),命令列有著自己不可取代的便利性和優越性。
命令列裡寫出來其實就是Shell
腳本,可以說每個開發者都會寫Shell
腳本(或多或少)。在生產環境的功能實作中,也常會看到Shell
腳本(雖然不如主流語言那麼常見)。
可能正因為上面所說的Shell
腳本的便利性和大眾性:
Shell
腳本有不少是順手實現的(包括生產環境用的Shell
腳本);Shell
腳本的實作常常可能品質不高,會引發線上嚴重的故障。在這個函式庫中的Shell
腳本:
Bash 3.2+
; Shell
用Bash
的原因是:
Shell
,並且在不同環境基本上都缺省部署了。Google
的Shell
風格指南中,明確說到了: Bash
是唯一被允許執行的shell
腳本語言。Bash
,可以避免不同Shell
之間差異所帶來的風險與沒有效益的複雜性。Shell
實現, sh
、 bash
、 zsh
、 fish
、 csh
、 tcsh
、 ksh
、 ash
、 dash
…Shell
有各種差異,深坑勿入。Bash
,比較理解熟悉。 PS: 雖然互動Shell
個人已經使用Zsh
+ oh-my-zsh
,但在嚴謹的Shell
腳本開發時還是使用Bash
。
Shell
學習與開發的資料更多資料請參考子文檔。
Google Shell Style Guide
| 中文版koalaman/shellcheck
: ShellCheck
, a static analysis tool for shell scriptsmvdan/sh(shfmt)
: shfmt
formats shell programsBash/Shell
最佳實務與安全程式設計文章sh
的方式去執行腳本ctrl + x, ctrl + e
就地開啟文字編輯器來編輯目前命令列,對於複雜命令列特別有用Bash
程式必備!且16年的第二版更新到了新版的Bash 4
bash man
| 中文版jlevy/the-art-of-command-line
-command-lineawesome-lists/awesome-bash
: A curated list of delightful Bash scripts and resources.alebcay/awesome-shell
: A curated list of awesome command-line frameworks, toolkits, guides and gizmos.Bash/Shell