Need help with useful-scripts?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

oldratlee
5.7K Stars 2.4K Forks Apache License 2.0 483 Commits 9 Opened issues

Description

🐌 useful scripts for making developer's everyday life easier and happier, involved java, shell etc.

Services available

!
?

Need anything else?

Contributors list

🐌 useful-scripts

repo-icon

Build Status GitHub release License Chat at gitter.im
GitHub Stars GitHub Forks GitHub issues GitHub Contributors

👉 把平时有用的手动操作做成脚本,以便捷地使用。 ✨

欢迎 👏 💖

本仓库的脚本(如

Java
相关脚本)在阿里等公司(如随身云,见
awesome-scripts
仓库
说明)的线上生产环境部署使用。

如果你的公司有部署使用,欢迎使用通过 Issue:who's using | 用户反馈收集 告知,方便互相交流反馈~ 💘



🔰 快速下载&使用

source 

更多下载&使用方式,参见下载使用。

📚 使用文档

☕
Java
相关脚本

  1. show-busy-java-threads
    用于快速排查
    Java
    的
    CPU
    性能问题(
    top us
    值过高),自动查出运行的
    Java
    进程中消耗
    CPU
    多的线程,并打印出其线程栈,从而确定导致性能问题的方法调用。
  2. show-duplicate-java-classes
    找出
    jar
    文件和
    class
    目录中的重复类。用于排查
    Java
    类冲突问题。
  3. find-in-jars
    在目录下所有
    jar
    文件里,查找类或资源文件。

🐚
Shell
相关脚本

Shell
使用加强:
  1. c
    原样命令行输出,并拷贝标准输出到系统剪贴板,省去
    CTRL+C
    操作,优化命令行与其它应用之间的操作流。
  2. coat
    彩色
    cat
    出文件行,方便人眼区分不同的行。
  3. a2l
    按行彩色输出参数,方便人眼查看。
  4. uq
    不重排序输入完成整个输入行的去重。相比系统的
    uniq
    命令加强的是可以跨行去重,不需要排序输入。
  5. ap and rp
    批量转换文件路径为绝对路径/相对路径,会自动跟踪链接并规范化路径。
  6. cp-into-docker-run
    一个
    Docker
    使用的便利脚本。拷贝本机的执行文件到指定的
    docker container
    中并在
    docker container
    中执行。
  7. tcp-connection-state-counter
    统计各个
    TCP
    连接状态的个数。用于方便排查系统连接负荷问题。
  8. xpl and xpf
    在命令行中快速完成 在文件浏览器中 打开/选中 指定的文件或文件夹的操作,优化命令行与其它应用之间的操作流。

Shell
开发/测试加强:
  1. echo-args
    输出脚本收到的参数,在控制台运行时,把参数值括起的括号显示成 红色,方便人眼查看。用于调试脚本参数输入。
  2. console-text-color-themes.sh
    显示
    Terminator
    的全部文字彩色组合的效果及其打印方式,用于开发
    Shell
    的彩色输出。
  3. parseOpts.sh
    命令行选项解析库,加强支持选项有多个值(即数组)。

⌚
VCS
相关脚本

目前

VCS
的脚本都是
svn
分支相关的操作。使用更现代的
Git
吧! 💥

因为不推荐使用

svn
,这里不再列出有哪些脚本了,如果你有兴趣可以点上面链接去看。

🎓 Developer Guide

为用户提供有用的功能当然是这个库的首要的价值体现和存在理由。

但作为一个开源项目,每个人都可以看到源码实现,这个库或许能做得更多。

🎯 面向开发者的目标

  • 期望体现
    Shell/Bash
    脚本生产环境级的严谨开发方式与最佳实践,进而有可能示例改善在生产环境中
    Shell
    脚本的质量状况。
  • 将
    Shell/Bash
    看作线上生产环境可使用的专业语言。

PS:

  • 虽然上面是自己期望的目标,但自己在
    Shell
    语言上一定会有很多理解和使用上的问题、在这些实现脚本中也会很多需要的改进,可以一起学习、讨论与实践~ 💕
  • 这个库中脚本的实现也有使用
    Python
    。

关于
Shell
脚本

命令行(

CLI
)几乎是每个程序员几乎每天都要使用的工具。相比图形界面工具(
GUI
),命令行有着自己不可替代的便利性和优越性。

命令行里写出来其实就是

Shell
脚本,可以说每个开发者会写
Shell
脚本(或多或少)。在生产环境的功能实现中,也常会看到
Shell
脚本(虽然不如主流语言那么常见)。

可能正因为上面所说的

Shell
脚本的便利性和大众性,
Shell
脚本有不少是顺手实现的(包括生产环境用的
Shell
脚本),
Shell
脚本的实现常常可能质量不高。

🚦 开发约定

这个库里,

Shell
脚本统一使用
Bash 3+
。

原因是:

  • 个人系统学习过的是
    Bash
    ,比较理解熟悉。
  • Bash
    目前还是
    Shell
    编程主流,并且基本上缺省部署了。
    PS: 虽然交互
    Shell
    个人已经使用
    Zsh
    ,但在严谨的
    Shell
    脚本开发时还是使用
    Bash
    。

📚
Shell
学习与开发的资料

更多资料参见 子文档。

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.