一直以来像SQL、shell脚本、DOS批处理等DSL和类DSL的东西都处于看了忘,忘了再看的无限循环中,在平时不怎么使用的情况要长久地记住这些东西从生理学上讲是不可能的。所以有两种方案:

  1. 经常去使用它,比如完全使用Linux工作
  2. 用到的时候,现场搜索,copy-paste大法好。

对于我来说1是我的追求,2是我的现状。

命令行脚本对比于点鼠标有不少优势,比如可以一次把一些命令写在一个脚本里,然后执行,比起用鼠标每次都要点很多下效率要高的多,特别是当有很多台机器时用鼠标来操作无疑会是一场灾难更别提有的命令鼠标根本没法点,当然鼠标也有它的优势,当仅仅是个人电脑,并且一些操作用命令行无比冗长时,用鼠标只需点击一下便可完成操作此时鼠标更占优势。对于命令行还是鼠标的选择可能大致如下图:


在我们日常生活中可能很多都是灰色区域的情况,为了达到效率最大化我们可以采取这样的策略:找到那些经常需要重复的、比较固定的步骤把它写成脚本,比如博客的预览和发布,每次都是执行一些固定的步骤,完全可以把它写成一个脚本,还有本地仓库与Github同步,我最近就写了一个脚本:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/bin/bash
echo "********************"
echo "******开始提交******"
echo "********************"
if ["$1" == ""]
then
set "默认提交,无特殊信息"
fi
git status
git add .
git commit -m $1
git push
echo "**********************"
echo "*******提交成功*******"
echo "**********************"

非常简单的一个脚本,但是大大地提高了效率。而对于那些偶发性比较高、重复性低的的操作就采用点鼠标的方式。这种思想其实非常类似于JAVA中的HotSpot虚拟机的工作方式,把热点代码编译成本地机器码,从而提高效率,我们是把“热点”操作“编译”成脚本,从而提高效率。高大上的虚拟机技术和日常生活小经验也有着异曲同工之妙!