1. 程式人生 > >Linux學習筆記 -----Shell概述

Linux學習筆記 -----Shell概述

一、什麼是Shell?

  Shell是一個命令列直譯器,它為使用者提供了一個向Linux核心傳送請求以便執行程式的介面系統級程式,使用者可以用Shell來啟動,掛起,停止甚至是編寫一些程式。Shell還是一個功能強大的程式語言,易編寫,易除錯,靈活性強。Shell是解釋執行的指令碼語言,在Shell中可以直接呼叫Linux系統命令。

二、Shell的分類

  1、Bourne Shell:簡稱:B Shell,從1979年起Unix就開始使用Bourne Shell,B Shell的主檔案字尾是.sh,bshell不支援歷史記錄。主要包括:sh、Bash、psh、zsh。

  2、C Shell:C Shell主要在BSD版的Unix系統中使用,其語法和C語言類似而得名。CShell主要包括:csh,tcsh。

  3、顯示當前系統中所使用的是什麼版本的Shell。例如:echo $SHELL

  4、顯示當前系統中所有可以支援的Shell。例如:cat /etc/shells

  5、切換到不同的Shell可以直接使用shell的名稱即可。例如:bash、sh等等。exit退出shell。

三、Shell指令碼的執行方式

  1、echo:表示在控制檯輸出一句話。如果輸出內容包含空格,必須使用雙引號;如果 echo中使用了-e選項則可以使用特殊字元。

控制字元 作用
\a 輸出警告音
\b 顯示退格鍵
\n 換行符
\r 回車鍵
\t 製表符。
\v 垂直製表符
\0nnn 按照八進位制ASCII碼輸出字元,其中0為數字零,nnn為三位八進位制數。例如:echo -e "\0123" 顯示大寫S
\xhh 按照十六進位制ASCII碼輸出字元,其中hh為兩位十六進位制數。例如:echo -e "\x61" 顯示小寫a
\e[1;31m  \e[0:m

通過顏色顯示輸出的字串。

顏色列表:

#30m=黑色  #31m=紅色  #32m=綠色  #33m=黃色  #34m藍色  #35m=洋紅  #36m=青色  #37m=白色

例如:echo -e "\e[1;31mhello world\e[0m"  以紅色輸出hello world。

  2、定義指令碼:

  a、建立一個hello.sh的文字檔案;

  b、然後以#!/bin/bash開頭,這裡的表示指令碼的宣告,必須要加上。

  c、輸出指令。指令中#表示註釋的意思。

  例:

#!/bin/bash
#My First Program!
echo -e "\e[1;31mhello wolrd\e[0m"

  3、執行指令碼

  a、直接使用bash hello.sh執行指令碼,但是這種不方便,優點是不需要賦予指令碼執行許可權。

  b、首先賦予指令碼執行許可權,然後再執行指令碼。執行方便,缺點需要手動賦予執行許可權。

chmod 775 hello.sh
./hello.sh