【Linux】5.1 Shell簡介

Shell簡介

1. Shell基礎

  • Shell 是一個用 C 語言編寫的程序,它是用戶使用 Linux 的橋樑。Shell 既是一種命令語言,又是一種程序設計語言。
  • Shell 是指一種應用程序,這個應用程序提供了一個界面,用戶經過這個界面訪問操做系統內核的服務。
  • Ken Thompson 的 sh 是第一種 Unix Shell,Windows Explorer 是一個典型的圖形界面 Shell。

1.1 什麼是shell

Shell是一個命令行解釋器,它爲用戶提供了一個向Linux內核發送請求以便裕興程序的界面系統級程序,用戶能夠用Shell來啓動、掛起、中止甚至是編寫一些程序。php

1.2 shell腳本

Shell 腳本(shell script),是一種爲 shell 編寫的腳本程序。
業界所說的 shell 一般都是指 shell 腳本,但讀者朋友要知道,shell 和 shell script 是兩個不一樣的概念。linux

1.3 Shell 環境

Shell 編程跟 JavaScript、php 編程同樣,只要有一個能編寫代碼的文本編輯器和一個能解釋執行的腳本解釋器就能夠了。shell

  • Linux 的 Shell 種類衆多,常見的有:
    • Bourne Shell(/usr/bin/sh或/bin/sh)
    • Bourne Again Shell(/bin/bash)
    • C Shell(/usr/bin/csh)
    • K Shell(/usr/bin/ksh)
    • Shell for Root(/sbin/sh)
  • 本教程關注的是 Bash,也就是 Bourne Again Shell,因爲易用和免費,Bash 在平常工做中被普遍使用。同時,Bash 也是大多數Linux 系統默認的 Shell。
  • 在通常狀況下,人們並不區分 Bourne Shell 和 Bourne Again Shell,因此,像 #!/bin/sh,它一樣也能夠改成 #!/bin/bash。

2. Shell腳本的運行

2.1 腳本的格式

  • 腳本以#!/bin/bash 開頭

2.2 腳本的執行

  1. 賦予用戶腳本執行權限
    • chmod +x ./test.sh #使腳本具備執行權限
    • ./demo.sh
    • 注意,必定要寫成 ./demo.sh,而不是 demo.sh,運行其它二進制的程序也同樣,直接寫 test.sh,linux 系統會去 PATH 裏尋找有沒有叫 demo.sh 的,而只有 /bin, /sbin, /usr/bin,/usr/sbin 等在 PATH 裏,你的當前目錄一般不在 PATH 裏,因此寫成 demo.sh 是會找不到命令的,要用 ./test.sh 告訴系統說,就在當前目錄找。
  2. 做爲解釋器參數
    • 這種運行方式是,直接運行解釋器,其參數就是 shell 腳本的文件名,如:
      • /bin/sh test.sh
      • /bin/php test.php
      • sh demo.sh
    • 通常不這麼用
相關文章
相關標籤/搜索