把平时有用的手动操作做成脚本,这样可以便捷的使用。 ✨
有自己用的好的脚本 或是 平时常用但没有写成脚本的功能,欢迎提供(提交Issue)和分享(Fork后提交代码)! 💖
source <(curl -fsSL https://raw.githubusercontent.com/oldratlee/useful-scripts/master/test-cases/self-installer.sh)更多下载&使用方式,参见下载使用。
☕ Java相关脚本
- show-busy-java-threads.sh
用于快速排查Java的CPU性能问题(top us值过高),自动查出运行的Java进程中消耗CPU多的线程,并打印出其线程栈,从而确定导致性能问题的方法调用。 - show-duplicate-java-classes
找出jar文件和class目录中的重复类。用于排查Java类冲突问题。 - find-in-jars.sh
在目录下所有jar文件里,查找类或资源文件。
Shell使用加强:
- c
原样命令行输出,并拷贝标准输出到系统剪贴板,省去CTRL+C,CTRL+V操作。 - colines
彩色cat出文件行,方便人眼区分不同的行。 - a2l
按行彩色输出参数,方便人眼查看。 - ap and rp
批量转换文件路径为绝对路径/相对路径,会自动跟踪链接并规范化路径。 - xpl and xpf
在命令行中快速完成 在文件浏览器中 打开/选中 指定的文件或文件夹的操作。 - tcp-connection-state-counter.sh
统计各个TCP连接状态的个数。用于方便排查系统连接负荷问题。
Shell开发/测试加强:
- echo-args.sh
输出脚本收到的参数,在控制台运行时,把参数值括起的括号显示成 红色,方便人眼查看。用于调试脚本参数输入。 - console-text-color-themes.sh
显示Terminator的全部文字彩色组合的效果及其打印方式,用于开发Shell的彩色输出。 - parseOpts.sh
提供命令行选项解析函数parseOpts。用于加强支持选项的值有多个值(即数组)。
⌚ VCS相关脚本
你会发现这些脚本都是
svn分支相关的操作。个人在使用
Git的过程中(7年+),并没有发现有对应脚本的需求(侧面反映出Git的优秀)。
原因:Git的概念模型一等公民支持分支,切换分支是件很简单且统一的事,而svn不得不涉及仓库的URL(不统一简单)。我已经在自己的开发机上卸载了
svn,没有需求场景也没理由再用了。 😛使用更现代的
Git吧! 💥
- swtrunk.sh
自动svn工作目录从分支(branches)切换到主干(trunk)。
PS:Git对应的是git checkout master,如果你使用了oh-my-zsh,已经有对应的别名加速了:gcm。 - svn-merge-stop-on-copy.sh
把指定的远程分支从刚新建分支以来的修改合并到本地svn目录或是另一个远程分支。
PS:Git的合并很直接简单,git merge branch-foo,也更智能(没有树冲突一说)。 - cp-svn-url.sh
拷贝当前svn目录对应的远程分支到系统的粘贴板,省去CTRL+C操作。
PS:因为分支不需要URL来引用,这个脚本的需求也没有了,直接给个分支名就好了。