一、開篇
看文章標題, 很高大上。
主要介紹 實現一鍵式自動化操作,具體的操作是:如何快速的建立 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 小小的小節
通過以上的介紹,也能看出通過 fsh 與 fpy 能節省我們的建立流程,並自動的進行相關初始化。相比於常規的方式,我們需要來回的建立檔案,還需要重複的寫預設程式碼。
可能會有小夥伴這樣說:以上的這些流程,最複雜的是 Python 的包檔案比較複雜一點。熟練的話,通過常規方法,不到1分鐘就能建立完成,何必呢?使用 fpy 的話,僅僅是調取終端,然後輸入指令即可完成。不要小看這省下來的幾十秒鐘,在另一方面,這樣重複的操作,完全屬於苦力勞動,沒有必要。
從不浪費時間的人,沒有工夫抱怨時間不夠。 —— 傑弗遜
那麼問題來了: fsh 與 fpy 到底是怎麼來的?
三、fsh 與 fpy 的前世今生
3.1 專案準備
具體的專案程式碼(HGFileBornTool),會在下面給出,現在跟著我的節奏看即可。
fsh 與 fpy 是兩個 Mac 終端指令,之前分享過相關 Mac 終端指令開發的文章 Mac 終端小工具開發, 感興趣的可以看看。但是當前的文章標題是:【實現一鍵式自動化操作】。除了表示 快速建立 Python 與 Shell 檔案 之外還有另一層意思,如何一鍵式自動化的生成 fsh 與 fpy 這兩個工具。
首先我們都清楚的是,這兩個工具肯定是來使用一個專案,如下所示:
這張圖好巧啊:正好將專案與相關的指令碼做了一個分割。
由上圖所示,下面是搜尋需要的 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 技術實現
關於 fsh 與 fpy 的生成過程,主要是依賴於 command 與 Makefile 檔案來實現的自動化。具體的細節不展開,一看就懂,很簡單的。關於 fsh 與 fpy的實現,我就不好意思提了,畢竟太簡單了,簡單得都不好意思拿出手,主要見 main.m 檔案。
四、總結
1、command 與 Makefile 檔案的使用。
2、main.m 中程式碼編寫。
程式碼地址:HGFileBornTool 歡迎大家下載。