https://github.com/oldratlee/useful-scripts#-java%E7%9B%B8%E5%85%B3%E8%84%9A%E6%9C%AC
🐌 useful scripts for making developer's everyday life easier and happier, involved java, shell etc.
👉 平时有用的手动操作做成脚本,以便捷地使用,让开发的日常生活更轻松些。 💕
欢迎 👏 💖
本仓库的脚本(如Java
相关脚本)在阿里等公司(如随身云,见awesome-scripts
仓库说明)的线上生产环境部署使用。
如果你的公司有部署使用,欢迎使用通过 Issue:who's using | 用户反馈收集 告知,方便互相交流反馈~ 💘
source <(curl -fsSL https://raw.githubusercontent.com/oldratlee/useful-scripts/release-2.x/test-cases/self-installer.sh)
更多下载&使用方式,参见下载使用。
Java
相关脚本Java
的CPU
性能问题(top us
值过高),自动查出运行的Java
进程中消耗CPU
多的线程,并打印出其线程栈,从而确定导致性能问题的方法调用。jar
文件和class
目录中的重复类。用于排查Java
类冲突问题。jar
文件里,查找类或资源文件。Shell
相关脚本Shell
使用加强:
CTRL+C
操作,优化命令行与其它应用之间的操作流。cat
出文件行,方便人眼区分不同的行。uniq
命令加强的是可以跨行去重,不需要排序输入。Docker
使用的便利脚本。拷贝本机的执行文件到指定的docker container
中并在docker container
中执行。TCP
连接状态的个数。用于方便排查系统连接负荷问题。Shell
开发/测试加强:
Terminator
的全部文字彩色组合的效果及其打印方式,用于开发Shell
的彩色输出。VCS
相关脚本目前VCS
的脚本都是svn
分支相关的操作。使用更现代的Git
吧! 💥
因为不推荐使用svn
,这里不再列出有哪些脚本了,如果你有兴趣可以点上面链接去看。
为用户提供有用的功能,当然是这个库的首要的价值体现和存在理由。
但作为一个开源项目,每个人都可以看到源码实现,这个库或许能做得更多。
Shell/Bash
作为线上生产环境使用的专业编程语言。Shell/Bash
脚本 生产环境级的严谨开发方式与最佳实践,进而有可能示例与改善在生产环境中Shell
脚本的质量状况。PS:
Shell
语言上一定会有很多理解和使用上的问题、在这些实现脚本中也会很多需要的改进,可以一起学习、讨论与实践~ 💕Python
。Shell
脚本命令行(CLI
)几乎是每个程序员每天都在使用的工具。相比图形界面工具(GUI
),命令行有着自己不可替代的便利性和优越性。
命令行里写出来其实就是Shell
脚本,可以说每个开发者会写Shell
脚本(或多或少)。在生产环境的功能实现中,也常会看到Shell
脚本(虽然不如主流语言那么常见)。
可能正因为上面所说的Shell
脚本的便利性和大众性:
Shell
脚本有不少是顺手实现的(包括生产环境用的Shell
脚本);Shell
脚本的实现常常可能质量不高,会引发线上严重的故障。在这个库中的Shell
脚本:
Bash 3+
;Shell
用Bash
的原因是:
Shell
,并且在不同环境基本上都缺省部署了。Google
的Shell
风格指南中,明确说明了:Bash
是唯一被允许执行的shell
脚本语言。
Shell
实现,sh
、bash
、zsh
、fish
、csh
、tcsh
、ksh
、ash
、dash
……Shell
有各种差异,深坑勿入。Bash
,可以避免差异带来的风险与没有收益的复杂性。Bash
,比较理解熟悉。PS: 虽然交互Shell
个人已经使用Zsh
+ oh-my-zsh
,但在严谨的Shell
脚本开发时还是使用Bash
。
Shell
学习与开发的资料更多资料参见 子文档。
Bash/Shell
最佳实践与安全编程
Google Shell Style Guide
| 中文版koalaman/shellcheck
: ShellCheck, a static analysis tool for shell scriptsctrl + x, ctrl + e
就地打开文本编辑器来编辑当前命令行,对于复杂命令行特别有用Bash
编程必备!且16年的第二版更新到了新版的Bash 4
bash man
| 中文版jlevy/the-art-of-command-line
alebcay/awesome-shell
: A curated list of awesome command-line frameworks, toolkits, guides and gizmos.Bash/Shell