擴充閱讀
linux Shell 命令列-00-intro 入門介紹
linux Shell 命令列-02-var 變數
linux Shell 命令列-03-array 陣列
linux Shell 命令列-04-operator 運算子
linux Shell 命令列-05-test 驗證是否符合條件
linux Shell 命令列-06-flow control 流程控制
linux Shell 命令列-07-func 函式
linux Shell 命令列-08-file include 檔案包含
linux Shell 命令列-09-redirect 重定向
shell
Shell 是一個用 C 語言編寫的程式,它是使用者使用 Linux 的橋樑。
Shell 既是一種命令語言,又是一種程式設計語言。
Shell 是指一種應用程式,這個應用程式提供了一個介面,使用者透過這個介面訪問作業系統核心的服務。
Ken Thompson 的 sh 是第一種 Unix Shell,Windows Explorer 是一個典型的圖形介面 Shell。
Shell 指令碼
Shell 指令碼(shell script),是一種為 shell 編寫的指令碼程式。
業界所說的 shell 通常都是指 shell 指令碼,但讀者朋友要知道,shell 和 shell script 是兩個不同的概念。
由於習慣的原因,簡潔起見,本文出現的 "shell程式設計" 都是指 shell 指令碼程式設計,不是指開發 shell 自身。
Shell型別
- Bourne Shell(/usr/bin/sh 或 /bin/sh)
- Bourne Again Shell(/bin/bash)
- C Shell(/usr/bin/csh)
- K Shell(/usr/bin/ksh)
- Root Shell(/sbin/sh)
通常,我們不區分 Bourne Shell
和 Bourne Again Shell
Shell 實戰測試
建立 hello.sh
houbinbindeMacBook-Pro:shell houbinbin$ pwd
/Users/houbinbin/code/shell
houbinbindeMacBook-Pro:shell houbinbin$ vi hello.sh
編輯 hello.sh
的內容
#!/bin/bash
echo "hello world!"
簡單解釋
hello.sh
的含義
#!
告訴作業系統要使用哪個直譯器,echo
用於在視窗中列印資訊。
執行
- 執行
hello.sh
houbinbindeMacBook-Pro:shell houbinbin$ /bin/sh hello.sh
hello world!
- 另一種執行方式
houbinbindeMacBook-Pro:shell houbinbin$ ./hello.sh
-bash: ./hello.sh: Permission denied
houbinbindeMacBook-Pro:shell houbinbin$ chmod +x ./hello.sh
houbinbindeMacBook-Pro:shell houbinbin$ ./hello.sh
hello world!
從輸入讀取
hello_name.sh
#!/bin/bash
# 作者:houbinbin
echo "請輸入您的名字?"
read NAME
echo "您好,$NAME!"
- 執行
houbinbindeMacBook-Pro:shell houbinbin$ vi hello_name.sh
houbinbindeMacBook-Pro:shell houbinbin$ /bin/sh hello_name.sh
請輸入您的名字?
houbinbin
您好,houbinbin!
houbinbindeMacBook-Pro:shell houbinbin$
參考資料
https://www.runoob.com/linux/linux-shell.html
Shell 中文教程
Shell 中文教程
本文由部落格一文多發平臺 OpenWrite 釋出!