我很難理解腳本是什麼。據我了解,它是 shell 中的一組命令。 bash 腳本和 shell 腳本有什麼不同?有人可以解釋這個概念嗎?
答案1
從http://en.wikipedia.org/wiki/Shell_script:
shell 腳本是一種設計為由 [Unix] shell(命令列解釋器)運行的電腦程式。 shell 腳本的各種方言都被視為腳本語言。
換句話說:bash腳本是shell腳本,但shell腳本不一定是bash腳本。
與應用程式不同,腳本通常作為一系列命令執行,從 A 到 Z(儘管它可以循環運行)。腳本一旦啟動就幾乎不需要任何使用者輸入,並且通常是為了完成一項任務而編寫的。
雖然現代應用程式通常是在類別中編寫的,以完成更廣泛的任務,但取決於使用者的決定,腳本大多從上到下執行其命令,一旦工作完成就退出。
答案2
腳本和程式之間的典型區別在於腳本是被解釋的,而程式是被編譯並以可執行形式提供的。
如今,這個定義已經變得模糊,因為如果您確實願意,您可以編譯腳本(例如:Facebook 編譯的PHP),而現代程式語言在較低層級使用解釋(例如:帶有JVM、.NET 和IL 的Java)
Shell 腳本是使用 Shell 指令語言 (sh) 的腳本。 sh 是一個有多種實作的規格。 bash 最初是作為 sh 實現,但後來變得非常不同,儘管它支援 sh 相容模式。