0. 前言
在很多情境之下我們都希望有套工具能夠幫忙解決高重複性的任務,可能還因此安裝許多零散的小軟體試圖解決,此時作業系統內建的程序腳本正是一套原生的解決方案。
但是在程式語言高度使用的現代,我們真的需要學習這些手稿語言嗎?它們擁有那些優缺?現在就來一探究竟吧!
1. 重點
2. 內容
2.1. 需要學嗎?
我覺得不管學習任何東西,大家比較在乎對未來是否有用。
坦白說在程式語言蓬勃發展的現代,相較之下這類腳本的工作範疇過於限縮。但它還保有 原生 這項優勢,檔案非常 輕量 且 不用編譯,另外可以直接呼叫 CLI 工具。比起需要額外安裝 系統環境 + 編譯器 + 功能套件,還可能碰上 版本問題,使用系統底層的方式更加穩定。
這類腳本除了 Shell Script 之外,難以幫助你尋獲工作。當然可以視作一種學習樂趣,也是系統自動化的好幫手。筆者自我是非常喜歡這種工具,轉移陣地也相當簡易。畢竟,若以 Python 為例,有經驗的都脫離不了 venv 的地區限制,根本不方便在本機製作多套系統,避免不同系統的套件互相衝突。
2.2. 具體用途
這邊提及的腳本並不是戲劇的內容規劃,而是一套寫好的程序集合,可以幫助我們處理重複性工作。這些寫好的檔案可以是靜態或是動態,但概念一樣,不用我們每次使用都要重新輸入多行指令,進而節省時間與精神。並且透過簡單的文字編輯器即可撰寫並執行,也體現其作為連接系統的簡易橋樑。
然而這種使用系統底層指令格式的方式,最明顯的缺點自然在於無法跨平台,沒辦法像程式語言基本都設計可以在多種作業系統執行。在生活中,這種腳本更常被用在開立新機的時候,幫忙快速建立統一環境。
但另外,也像先前不斷提到,因為是原生的系統,因此不用安裝程式語言也能使用。對於沒有學過程式的,同時也能先打好邏輯基礎。而且別人預製的 CLI 工具比起我們重寫個編碼,使用上還要便捷,通常也更加完整。
2.3. 常見種類
認識完功效之後,來看看常見的各個作業系統又有哪些工具吧!
外殼指令碼 Shell Script
廣泛存在於 UNIX-like 系統(LINUX, macOS),這種檔案在開頭必須闡述要使用哪種工具,雖然工具的檢視可以依靠以下指令確認。
cat /etc/shells
此時應該會打印一堆文字出來,但最具代表性的開頭普遍是這段。而這也是我們很常聽見的 Bash Script,基本上近代各個 UNIX-like 作業系統必附這個工具。
#!/bin/bash
批次檔 Batch File
其為 DOS, OS/2, Windows 系統上專用的腳本檔案,撇不開 IBM 與 Microsoft 的合作關係。相比其他註解常用的 // 或 #,它非常特別的用 @REM 來標記。雖然還有另外的寫法,但因為放在頭尾擁有不同寫法(:: → & ::)而較少提倡。
3. 後話
筆者我必須一直強調,這類工具並不太適合用來尋找工作,畢竟該自動化的早該做完了,很快地做完了你也沒工作了。但多學,或許哪天公司有新任務還能勝任並有表現的機會,而且也能增強自己電腦的處理能力。只要你不跳槽,這些通用的程序還能備份到其他相同作業系統的設備。
對於本人而言,增強自己的電腦,並透過原生的程序,可以減少我安裝各種軟體,又都只用特定功能的窘境。各位可能不知道,但只要即使卸載幾乎都會有殘留(以後或許能夠介紹 Revo Uninstaller 這個工具),雖然影響不大,但每次清理檔案就有點煩躁。
總之,以上這篇先給各位參考,再決定是否學習下方的系列內容。