一、Shell概述
1、什么是shell?
由此可見shell是用戶與系統進行交互的接口,通過執行各種命令來完成時間處理與調度。
2、shell分類
Shell類別 易學性 可移植性 編輯性 快捷性
Bourne Shell (sh) 容易 好 較差 較差
Korn Shell (ksh) 較難 較好 好 較好
Bourne Again (Bash) 難 較好 好 好
POSIX Shell (psh) 較難 好 好 較好
C Shell (csh) 較難 差 較好 較好
TC Shell (tcsh) 難 差 好 好
Shell 的兩種主要語法類型有 Bourne 和 C,這兩種語法彼此不兼容。
Bourne 家族主要包括 sh、 ksh、Bash、psh、zsh。
C 家族主要包括:csh、tcsh (Bash 和 zsh 在不同程度上支持 csh 的語法)。
我們可以通過/etc/shells 文件來查詢 Linux 支持的 Shell。
[root@centos ~]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/bin/dash
/bin/tcsh
/bin/csh
二、echo命令及shell腳本執行
1、echo 輸出特殊轉義字符
echo [選項] [輸出內容] 選項:
-e: 支持反斜線控制的字符轉換
\\ 輸出\本身
\a 輸出警告音
\b 退格鍵,也就是向左刪除鍵
\c 取消輸出行末的換行符
\e ESCAPE 鍵
\f 換頁符
\n 換行符
\r 回車鍵
\t 制表符,也就是 Tab 鍵
\v 垂直制表符
\0nnn 按照八進制 ASCII 碼表輸出字符。其中 0 為數字零,nnn 是三位八進制數
\xhh 按照十六進制 ASCII 碼表輸出字符。其中 hh 是兩位十六進制數
-n: 取消輸出后行末的換行符號(就是內容輸出后不換行)
示例
[root@centos ~]# echo -e "heihei \nhaha \a" #先輸出heihei,換行之后再輸出一個 haha 最后輸出警示音
heihei
haha
2、echo輸出顏色
30m=黑色,31m=紅色, 32m=綠色,33m=黃色,34m=藍色,35m=洋紅,36m=青色,37m=白色
1)字體顏色
echo -e "\e[1;32m 綠色字體 \e[0m"
2)背景顏色
echo -e "\e[1;42m 綠色背景 \e[0m"
3)閃爍
echo -e "\e[1;5m \e[1;32m 綠色閃爍字體 \e[0m \e[0m "
3、執行shell腳本
執行shell腳本有兩種方式,下面是一個簡單的shell腳本:
#!/bin/bash #直接執行時,告訴系統應該用哪一個解釋器來執行。
echo -e "\e[1;5m \e[1;32m 你好!! \e[0m "\e[0m
- 第一種執行方式,直接執行
添加執行權限,使用相對或者絕對路徑來執行
[root@centos ~]# chmod a+x test.sh
[root@centos ~]# . test.sh
你好!
[root@centos ~]# /root/test.sh
你好!
- 使用解釋器 + 腳本 方式執行,不需要添加執行權限。
[root@centos ~]# bash test.sh
你好!