实现一键式自动化操作(快速创建 Python 与 Shell 文件)

1,336 阅读4分钟

一、开篇

看文章标题, 很高大上。
主要介绍 实现一键式自动化操作,具体的操作是:如何快速的创建 Python 与 Shell 文件? 是的,创建 Python 与 Shell 文件是一个很简单的事情,但是如何做到 快速,这恐怕需要动点歪脑筋。

我所能想到的常规方法是(Shell为例):

  • 1、调取(Go2Shell)终端,touch filename.sh
  • 2、直接使用 IDE 创建。

以上两个方法,貌似没有问题。但是都有缺点:

  • 1、通过 touch 创建的文件都是空白的文件,作为一个标准的 shell 文件至少要有这一句:#!/bin/sh。所以这样创建的文件,还需要手动的添加,简直浪费时间。
  • 2、IDE 使用不方便。毕竟这样的脚本文件,我们希望的是随(时)创随(时)用。而不是在创建的时候,还需要打开其它的 IDE,不仅浪费时间,还很别扭。

通过以上的分析,如何做到 快速 呢?我所希望的是:调取(Go2Shell)终端,通过特定的指令,直接生成一个标准的初始化文件。比如:

fsh filename # 创建一个 filename.sh 文件

这样一个标准的 Shell 文件在当前的目录中就生成了。上面介绍的是 Shell 文件,但是对于 Python 文件相比之下稍微有那么一点复杂, Python 还有一种叫包(package)文件。所以对于 Python 文件的创建,有如下两种方式:

fpy filename # 创建一个 filename.py 文件
fpy packagename p # 创建一个 packagename 包文件

关键字解释:
fsh:file Shell 的简写。
fpy:file Python 的简写。

二、最终的效果

2.1 Shell 文件的创建

关键字:fsh。
通过如下指令:

fsh filename

生成一个 filename.sh 的文件:

2.2 Python 文件的创建

关键字:fpy。

2.2.1 普通文件

通过如下指令:

fpy filename

生成一个 filename.py 文件:

2.2.2 包文件

通过如下指令:

fpy packagename p

注意:这个指令与普通创建就多了一个参数作为区分。
生成一个 packagename 的包文件,如下所示:

2.3 小小的小节

通过以上的介绍,也能看出通过 fshfpy 能节省我们的创建流程,并自动的进行相关初始化。相比于常规的方式,我们需要来回的创建文件,还需要重复的写默认代码。
可能会有小伙伴这样说:以上的这些流程,最复杂的是 Python 的包文件比较复杂一点。熟练的话,通过常规方法,不到1分钟就能创建完成,何必呢?使用 fpy 的话,仅仅是调取终端,然后输入指令即可完成。不要小看这省下来的几十秒钟,在另一方面,这样重复的操作,完全属于苦力劳动,没有必要。

从不浪费时间的人,没有工夫抱怨时间不够。 —— 杰弗逊

那么问题来了: fsh 与 fpy 到底是怎么来的?

三、fsh 与 fpy 的前世今生

3.1 项目准备

具体的项目代码(HGFileBornTool),会在下面给出,现在跟着我的节奏看即可。
fshfpy 是两个 Mac 终端指令,之前分享过相关 Mac 终端指令开发的文章 Mac 终端小工具开发, 感兴趣的可以看看。但是当前的文章标题是:【实现一键式自动化操作】。除了表示 快速创建 Python 与 Shell 文件 之外还有另一层意思,如何一键式自动化的生成 fshfpy 这两个工具。
首先我们都清楚的是,这两个工具肯定是来使用一个项目,如下所示:

这张图好巧啊:正好将项目与相关的脚本做了一个分割。
由上图所示,下面是搜索需要的 Mac 项目 HGFileBornTool, 上面是提到的 【实现一键式自动化操作】的相关脚本文件。

3.2 获取 fsh 与 fpy

3.2.1 command 文件

在上图中有一个文件 Release.command 这个文件是 Mac 系统的文件,能直接通过点击就能执行文件中的代码。所以你直接点击这个文件之后,那么在你的终端就可以直接使用 fsh 与 fpy 了,你可以试试。

3.2.2 HGFileBornTool 项目运行

还有另一种方式是打开项目 HGFileBornTool,然后直接快捷键:command + b。这样在你的终端也可以直接使用 fsh 与 fpy 了。

3.3 技术实现

关于 fshfpy 的生成过程,主要是依赖于 commandMakefile 文件来实现的自动化。具体的细节不展开,一看就懂,很简单的。关于 fshfpy的实现,我就不好意思提了,毕竟太简单了,简单得都不好意思拿出手,主要见 main.m 文件。

四、总结

1、commandMakefile 文件的使用。
2、main.m 中代码编写。

代码地址:HGFileBornTool 欢迎大家下载。