看標題大家應該知道,這是一個關於 Linux Shell 腳本的系列文章。通過本系列文章希望幫助 Linux 初學用戶快速開始上手編寫 Shell 腳本,能夠利索的對腳本進行測試和使用。
在接下來的首篇文章中,我們將介紹什麼是 Shell,有哪些 Linux Shell 類型,什麼是 Shell 腳本以及如何編開始寫自己的 Shell 腳本等內容。
Unix Shell 即大家俗稱的 Shell 是源於 Unix/Linux 的命令行解釋器,用戶在 Shell 中執行的一系列命令都會被 Shell 命令行解釋器直接執行。現代流行的命令行解釋功能都已被內置到 Linux Shell 中進行支持,例如:通配符、 管道、 變量、條件操作、 命令及幫助文件等。簡單來說,我們可以把 Linux 理解為用戶與 Linux 操作系統進行交互的一個接口。
Linux 中的各種 Shell 類型有很多,但 Bourne Shell 和 C shell 應用最為廣泛,事實上 Bourne Shell 已經成為 Shell 附加功能及一些衍生功能的編碼基礎。
其它不太常用的 Linux Shell 還包括:
Shell 腳本主要由 Linux Shell 解釋執行,可被用於自動化的程序執行、文件操作、環境配置等任務,Linux 管理員通常使用 Shell 腳本來執行一些重復性的體力勞動。
Shell 腳本可將多個要執行的命令和任務提交到 Linux Shell 自動執行,而無需用戶手動觸發。你還可以在單個腳本中將一個命令的輸出定義為另一個命令的輸入。
總的來說,Shell 腳本編寫是 Linux 管理員節省時間和資源的必備技能。
在新手階段,我們比較建議大家使用 gedit、vi/vim、nano 或 Emacs 來編寫 Shell 腳本,而不要使用其它 IDE 編輯器。Bash 腳本必需以如下代碼作為首行:
#!/bin/bash
上述字符中的 #! 被稱為 shebang,後面跟的 /bin/bash 表明要使用 /bin/bash 來執行。除首行(意義特殊)用於指定腳本類型外,其余以 # 打頭的內容會被當作注釋被 Shell 忽略執行。
腳本寫成後,你可將該文件保存成任意擴展名甚至無擴展名,但業界公認慣例以 .sh 作為 Linux Shell 腳本的擴展名,建議大家也別搞特殊。而且要在賦予腳本執行權限之後才能被執行,建議大家采用 775 權限,千萬不要 777:
chmod 755 linuxidc.sh
打開你使用的文本編輯器,粘貼如下內容:
#!/bin/bash
echo "Hello World!"
將其保存成 linuxidc.sh 再執行看看效果:
linuxidc@linuxidc:~$ cd 桌面
linuxidc@linuxidc:~/桌面$ chmod 755 linuxidc.sh
linuxidc@linuxidc:~/桌面$ ./linuxidc.sh
Hello World!
執行成功了,是不是非常簡單。
下面我們再建立一個 linuxidc.sh 並粘入如下內容:
大家看看執行之後發生了什麼呢?
linuxidc@linuxidc:~/桌面$ ./linuxidc.sh
What is your name?
linuxidc.com
Hey linuxidc.com! what is your Favorite Website?
www.linuxidc.com
That's Nice to know @linuxidc.com that www.linuxidc.com is your favorite Website
如此簡單!開始上手的感覺非常良好?在 Linux Shell 腳本系列的後續文章中,我們將逐步深入,希望大家玩得開心。