把平时有用的手动操作做成脚本,这样可以便捷的使用。 ✨
有自己用的好的脚本 或是 平时常用但没有写成脚本的功能,欢迎提供(提交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:Git
分支不需要URL
来引用,没有这个脚本的需求,直接给个分支名就好了。