使用Mac自定義快捷鍵執行shell指令碼

smithdeng發表於2019-11-07

最近買了個 Virtual Private Network,於是我就使用Mac自帶的 Virtual Private Network來配置。

使用Mac自定義快捷鍵執行shell指令碼

但是我發現有個不盡人意的地方:Mac自帶的Virtual Private Network走全域性代理,國內的網站訪問就延遲有點高。

所以有了如下需求:如何快速的開啟或者關閉Virtual Private Network呢?

我的思路如下:

1.使用shell指令碼開啟來開啟或者關閉`Virtual Private Network`
2.使用Mac的 `自動操作` 編寫自動化指令碼
3.使用Mac的鍵盤設定新增快捷鍵呼叫這個指令碼
複製程式碼

具體實現如下:

0.如果有Virtual Private Network需求的話,先去設定把這個Virtual Private Network配置好

1.開啟Mac的自動操作(就是那個圖示長的像是扛著鋼炮的機器人),選擇快速操作,並在左邊找到執行shell指令碼,把執行shell指令碼直接拖到右邊,注意選擇沒有輸入

使用Mac自定義快捷鍵執行shell指令碼

2.編寫shell指令碼,根據我自己的需求,我的shell如下:

scutil --nc status pureVPN | head -n 1 | grep Connect && scutil --nc stop pureVPN || scutil --nc start pureVPN
複製程式碼

大概意思就是:使用scutil命令檢測pureVPN當前狀態,取出第一行,使用grep如果發現有Connect字樣,就使用scutil來stop pureVPN,否則就start pureVPN

3.在自動操作command + s儲存剛才的內容,並取一個合適的名字,我取的名字是changeVPNstat

4.在設定-》鍵盤-》快捷鍵-》服務中給剛才的服務新增快捷鍵,我新增的快捷鍵是command + option + E

使用Mac自定義快捷鍵執行shell指令碼
(注意你設定的快捷鍵儘量不要和其他快捷鍵衝突)

結論:

經過以上設定之後,就可以使用command + option + E快捷鍵來快速切換Virtual Private Network的狀態了,如果Virtual Private Network是開的,那麼command + option + E就會讓它關閉,如果是關閉的,command + option + E就會讓它開啟,十分方便。

既然快捷鍵能夠自動執行shell指令碼了,那麼能夠做的事情也就很多了,朋友們發揮想象力吧

相關文章