跳轉到內容

C Shell 指令碼/Hello

來自華夏公益教科書,自由的教科書

如何建立一個指令碼

[編輯 | 編輯原始碼]

Unix 指令碼通常很小,旨在完成一項任務。構建的簡單性使 shell 指令碼成為自動化命令列任務的最佳選擇。如果你已經知道手動完成任務所輸入的命令,那麼程式就完成了一半。

“Hello, World!” 程式是學習 C shell 等新語言的良好起點。我們首先要學習 Unix 命令來將文字列印到控制檯,該命令稱為 echo。只需輸入“echo”後跟要列印的內容,它將在執行命令時打印出來。

$ echo Hello, World!
Hello, World!

現在讓我們建立一個將成為我們指令碼的文字檔案來說 hello。我們將使用一個名為 nano 的程式,它是在 Unix 上常見的文字編輯器。但是任何編輯器都可以。你注意到我們只是將檔案命名為“hello”,因為在 Unix 中不需要副檔名。雖然如果你想要副檔名,“.csh”通常被使用。

$ nano hello

我們指令碼的第一行被稱為 shebang。它由一個井號和一個感嘆號字元(#!)組成,後跟直譯器(例如 /bin/csh)的完整路徑。所有 Unix 下的指令碼都使用第一行指定的直譯器執行。透過包含 shebang 行,你可以像編譯應用程式一樣執行程式,它會自動找到 shell 程式來執行它。請注意,我們在指定 C shell 的路徑時使用“-f”選項。這將防止執行使用者的設定檔案,這會無謂地減慢和複雜化指令碼。

第二行是上面的 echo 命令,它是實際的程式邏輯。

#!/bin/csh -f
echo Hello, World!


現在我們可以儲存檔案並退出編輯器。對於 nano,按 Ctrl-X 鍵。

在 Unix 中,我們必須調整檔案許可權才能執行指令碼。 chmod 命令用於標記檔案為可執行檔案。

$ chmod +x hello

現在我們可以真正執行指令碼了。記住在檔名前面包含目錄。如果你當前與指令碼位於同一目錄中,你仍然必須包含當前目錄(“./”)

$ ./hello
Hello, World!
  1. 所有指令碼都應該以一個稱為 shebang 行的直譯器指令開始。
  2. 在 Unix 中,指令碼必須被賦予可執行許可權才能執行。
  3. echo 命令通常用於在指令碼中列印。
華夏公益教科書