引言
每次我們完成一篇新的文章,通常會使用 Hugo 來生成網頁,然後透過以下的指令將其上傳到 Github:
|
|
在這種情況下,突然冒出一個想法!是否有一種方法可以將所有的這些指令一次全部輸入? 經過一番研究,不出所料,答案是
有
!所以也有了今天這篇文😂
&& 和 ; 的差異
在 Shell 中,&&
和 ;
兩個符號都可以用來將多個指令串連起來。例如,我們可以利用它們創建一篇新的 Hugo 文章,然後將其自動添加到 Git,並提交和推送到 Github:
|
|
或者:
|
|
兩種方法都會先創建一篇新的 Hugo 文章,接著將所有變更添加到 Git,提交這些變更,然後推送到遠程存儲庫。
不過 &&
和 ;
在功能上其實有所差異。當我們使用 &&
連接兩個指令時,只有當第一個指令執行成功後,第二個指令才會被執行。若第一個指令執行失敗,則第二個指令將不會執行。
然而,使用 ;
連接兩個指令時,不論第一個指令是否執行成功,第二個指令都將會被執行。
因此,若你與我有同樣的需求,也就是當前一個指令失敗時,你不希望讓變更被推送到 Github,那麼此時我們應選擇使用 &&
:
|
|
自動響應
有時我們可能需要自動回答指令中的某些提示,這時我們可以利用 echo
和管道符號 |
來實現。例如,下列的指令將自動回答 “yes”:
|
|
這裡,echo
會輸出 “yes”,然後透過管道符號 |
將這個輸出作為下一個命令的輸入。這樣當下一個命令需要確認時,它會自動接收到 “yes” 作為回答。
若有任何問題或者想法,歡迎留言討論。