linux之shell基礎介紹

1. what's shell?

shells是一個命令解釋器,為用戶提供一個向Linux內核發送請求以便運行程序的界面系統級程序,用戶可以用shell來啟動。掛起、停止甚至是編寫一些自定義的程序。

用大白話說其實shell就是我們和計算機、和內核交互的界面,他最主要的一個功能就是讓我們有一個地方可以輸命令,然後把我們的命令翻譯為計算機可以識別的語言。

Shell還是一個功能強大的編程語言,易編寫、易調試、靈活性較強,Shell是解釋執行的腳本語言,在shell中可以直接調用linux系統命令。

Shell的分類

  • Bourne Shell:從1979年起Unix就開始使用Bourne Shell,Bourne Shell的主文件名為sh。

  • CShell:C Shell主要在BSD版的Unix系統中使用,其語法和C語言相類似而得名。

Shell的兩種主要語法類型有Bourne和C,這兩種語法彼此不兼容。Bourne家族主要包括sh,ksh,Bash,psh,zsh;C家族主要包括csh,tcsh。

現在使用的linux就是使用Bash作為用戶的基本shell。

Linux支持的Shell

# vi /etc/shells 查詢系統當中有哪些shell

linux之shell基礎介紹

Shell腳本的執行方式

echo輸出命令

# echo [選項] [輸出內容]

如果輸入的字符有空格,要把內容用雙引號括起來。

-e 支持反斜線控制的字符轉換,

  • \\ :輸出\本身

  • \a:輸出警告音

  • \b:退格鍵,即向左刪除鍵

  • \c:取消輸出行末的換行符。和-n選項一致

  • \e:ESCAPE鍵

  • \f:換頁符

  • \n:換行符

  • \r:回車鍵

  • \t:製表符,也就是Tab鍵

  • \v:垂直製表符

  • \0nnn:按照八進制ASCII碼錶輸出字符。其中0為數字0,nnn是三位八進制數

  • \xhh:按照十六進制ASCII碼錶輸出字符。其中hh是兩位十六進制數

舉例:

# echo -e "ab\bc" 刪除左側字符,將輸出ac

# echo -e "a\tb\tc\nd\te\tf" 製表符與換行符

linux之shell基礎介紹

# echo -e "\e[1;31m abcddddd \e[0m" 輸出顏色

linux之shell基礎介紹

#30m=黑色,31m=紅色,32m=綠色,33m=黃色

#34m=藍色,35m=洋紅,36m=青色,37m=白色

寫第一個腳本

# vi hello.sh

#!/bin/Bash

#the first program

# author xingyubiji

echo -e "hello world,this is my first program"

腳本寫完之後,要執行腳本有兩種方法:

  • 賦予執行權限,直接運行

# chmod 755 hello.sh

# ./hello.sh

  • 通過bash調用執行腳本

bash hello.sh


分享到:


相關文章: