@@ -5,78 +5,17 @@ useful-shells
55
66有自己用的好的脚本 或是 平时常用但没有写成脚本的功能,欢迎提供([ 提交Issue] ( https://github.com/oldratlee/useful-shells/issues ) )和分享([ Fork后提交代码] ( https://github.com/oldratlee/useful-shells/fork ) )!
77
8- 下载使用
9- ========================
10-
11- ### 下载整个工程的脚本
12-
13- #### 直接clone工程
14-
15- 使用简单、方便更新,不过要安装有` git ` 。
8+ 快速下载&使用
9+ ----------------------
1610
1711``` bash
18- git clone git://github.com/oldratlee/useful-shells.git
19-
20- cd useful-shells
21-
22- # 使用Release分支的内容
23- git checkout release
24-
25- # 更新脚本
26- git pull
12+ source <( curl -fsSL https://raw.githubusercontent.com/oldratlee/useful-shells/master/test-cases/self-installer.sh)
2713```
2814
29- 包含2个分支:
30-
31- - ` master ` :开发分支
32- - ` release ` :发布分支,功能稳定的脚本
33-
34- 当然如果你不想安装` git ` ,` github ` 是支持` svn ` 的:
35-
36- ``` bash
37- svn co https://github.com/oldratlee/useful-shells/branches/release
38-
39- cd useful-shells
40-
41- # 更新脚本
42- svn up
43- ```
44-
45- PS:
46-
47- 我的做法是把` useful-shells ` checkout到` $HOME/bin/useful-shells ` 目录下,再把` $HOME/bin/useful-shells ` 配置到` PATH ` 变量上,这样方便我本地使用所有的脚本。
48-
49- #### 打包下载
50-
51- 下载文件[ release.zip] ( https://github.com/oldratlee/useful-shells/archive/release.zip ) :
52-
53- ``` bash
54- wget --no-check-certificate https://github.com/oldratlee/useful-shells/archive/release.zip
55-
56- unzip release.zip
57- ```
58-
59- ### 下载和运行单个文件
60-
61- 以[ ` show-busy-java-threads.sh ` ] ( https://raw.github.com/oldratlee/useful-shells/release/show-busy-java-threads.sh ) 为例。
62-
63- #### ` curl ` 文件直接用` bash ` 运行
64-
65- ``` bash
66- curl -sLk ' https://raw.github.com/oldratlee/useful-shells/release/show-busy-java-threads.sh' | bash
67- ```
68-
69- #### 下载单个文件
70-
71- ``` bash
72- wget --no-check-certificate https://raw.github.com/oldratlee/useful-shells/release/show-busy-java-threads.sh
73- chmod +x show-busy-java-threads.sh
74-
75- ./show-busy-java-threads.sh
76- ```
15+ 更多下载&使用方式,参见[ 下载使用] ( #下载使用 ) 一节。
7716
7817show-busy-java-threads.sh
79- ==========================
18+ ----------------------
8019
8120在排查` Java ` 的` CPU ` 性能问题时(` top us ` 值过高),要找出` Java ` 进程中消耗` CPU ` 多的线程,并查看它的线程栈,从而找出导致性能问题的方法调用。
8221
@@ -142,7 +81,7 @@ The stack of busy(26.1%) thread(24018/0x5dd2) of java process(23269) of user(adm
14281[ silentforce] ( https://github.com/silentforce ) 改进此脚本,增加对环境变量` JAVA_HOME ` 的判断。
14382
14483tcp-connection-state-counter.sh
145- ==========================
84+ ----------------------
14685
14786统计各个` TCP ` 连接状态的个数。
14887
@@ -168,7 +107,7 @@ SYN_SENT 17
168107```
169108
170109parseOpts.sh
171- ==========================
110+ ----------------------
172111
173112提供命令行选项解析函数` parseOpts ` ,支持选项的值有多个值(即数组)。
174113\# 自己写一个命令行选项解析函数,是因为` bash ` 的` buildin ` 命令` getopts ` 和加强版本命令` getopt ` 都不支持数组的值。
@@ -218,7 +157,7 @@ parseOpts "a,a-long|b,b-long:|c,c-long+" -a -b bv -c c.sh -p pv -q qv arg1 \; aa
218157```
219158
220159cp-svn-url.sh
221- ==========================
160+ ----------------------
222161
223162拷贝当前` svn ` 目录对应的远程分支到系统的粘贴板,省去` CTRL+C ` 操作。
224163
@@ -245,7 +184,7 @@ http://www.foo.com/project1/branches/feature1 copied!
245184[ 拷贝复制命令行输出放在系统剪贴板上] ( http://oldratlee.com/post/2012-12-23/command-output-to-clip ) ,给出了不同系统可用命令。
246185
247186swtrunk.sh
248- ==========================
187+ ----------------------
249188
250189` svn ` 工作目录从分支(` branches ` )切换到主干(` trunk ` )。
251190
@@ -282,7 +221,7 @@ svn work dir /path/to/svn/work/dir2 switch from http://www.foo.com/project2/bran
282221```
283222
284223svn-merge-stop-on-copy.sh
285- ==========================
224+ ----------------------
286225
287226把指定的远程分支从刚新建分支以来的修改合并到本地SVN目录或是另一个远程分支。
288227
@@ -307,7 +246,7 @@ svn-merge-stop-on-copy.sh http://www.foo.com/project1/branches/feature1 http://w
307246[ 姜太公] ( https://github.com/jiangjizhong ) 提供此脚本。
308247
309248find-in-jars.sh
310- ==========================
249+ ----------------------
311250
312251在当前目录下所有` Jar ` 文件里,查找文件名。
313252
@@ -335,7 +274,7 @@ $ ./find-in-jars 'Service.class$'
335274[ 在多个Jar(Zip)文件查找Log4J配置文件的Shell命令行] ( http://oldratlee.com/458/tech/shell/find-file-in-jar-zip-files.html )
336275
337276echo-args.sh
338- ==============================
277+ ----------------------
339278
340279在编写脚本时,常常要确认输入参数是否是期望的:参数个数,参数值(可能包含有人眼不容易发现的空格问题)。
341280
@@ -361,7 +300,7 @@ $ ./echo-args.sh 1 " 2 foo " "3 3"
361300这样可以不改其它的程序,查看到输入参数的信息。
362301
363302console-text-color-themes.sh
364- ==============================
303+ ----------------------
365304
366305显示` Terminator ` 的全部文字彩色组合的效果。
367306
@@ -391,7 +330,7 @@ colorEchoWithoutNewLine "4;33;40" "Hello world!" "Hello Hell!"
391330- [ utensil] ( https://github.com/utensil ) 的[ 在Bash下输出彩色的文本] ( http://utensil.github.io/tech/2007/09/10/colorful-bash.html ) ,这是篇很有信息量很钻研的文章!
392331
393332xpl and xpf
394- ==============================
333+ ----------------------
395334
396335* ` xpl ` :在文件浏览器中打开指定的文件或文件夹。
397336\# ` xpl ` 是` explorer ` 的缩写。
@@ -425,3 +364,72 @@ xpf /path/to/dir1 /path/to/foo1.txt
425364### 贡献者
426365
427366[ Linhua Tan] ( https://github.com/toolchainX ) 修复Linux的选定Bug。
367+
368+ 下载使用
369+ ----------------------
370+
371+ ### 下载整个工程的脚本
372+
373+ #### 直接clone工程
374+
375+ 使用简单、方便更新,不过要安装有` git ` 。
376+
377+ ``` bash
378+ git clone git://github.com/oldratlee/useful-shells.git
379+
380+ cd useful-shells
381+
382+ # 使用Release分支的内容
383+ git checkout release
384+
385+ # 更新脚本
386+ git pull
387+ ```
388+
389+ 包含2个分支:
390+
391+ - ` master ` :开发分支
392+ - ` release ` :发布分支,功能稳定的脚本
393+
394+ 当然如果你不想安装` git ` ,` github ` 是支持` svn ` 的:
395+
396+ ``` bash
397+ svn co https://github.com/oldratlee/useful-shells/branches/release
398+
399+ cd useful-shells
400+
401+ # 更新脚本
402+ svn up
403+ ```
404+
405+ PS:
406+ 我的做法是把` useful-shells ` checkout到` $HOME/bin/useful-shells ` 目录下,再把` $HOME/bin/useful-shells ` 配置到` PATH ` 变量上,这样方便我本地使用所有的脚本。
407+
408+ #### 打包下载
409+
410+ 下载文件[ release.zip] ( https://github.com/oldratlee/useful-shells/archive/release.zip ) :
411+
412+ ``` bash
413+ wget --no-check-certificate https://github.com/oldratlee/useful-shells/archive/release.zip
414+
415+ unzip release.zip
416+ ```
417+
418+ ### 下载和运行单个文件
419+
420+ 以[ ` show-busy-java-threads.sh ` ] ( https://raw.github.com/oldratlee/useful-shells/release/show-busy-java-threads.sh ) 为例。
421+
422+ #### ` curl ` 文件直接用` bash ` 运行
423+
424+ ``` bash
425+ curl -sLk ' https://raw.github.com/oldratlee/useful-shells/release/show-busy-java-threads.sh' | bash
426+ ```
427+
428+ #### 下载单个文件
429+
430+ ``` bash
431+ wget --no-check-certificate https://raw.github.com/oldratlee/useful-shells/release/show-busy-java-threads.sh
432+ chmod +x show-busy-java-threads.sh
433+
434+ ./show-busy-java-threads.sh
435+ ```
0 commit comments