linux Shell 命令列-01-intro 入門介紹

老马啸西风發表於2024-03-10

擴充閱讀

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 ShellBourne 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 釋出!

相關文章