目錄
一、echo 輸出
二、顏色代碼
正文
一、echo 輸出
Shell 的 echo 指令,用於字符串的輸出
語法:echo string
echo 會將輸入的字符串送往標准輸出,輸出的字符串之間以空白字符隔開,並在最后加上換行號
1.echo 顯示普通字符串
echo 字符串,字符串可以不加雙引號
MBC02FV3MZMD6P:J_shell j$ echo hello world hello world MBC02FV3MZMD6P:J_shell j$ echo "hello world" hello world
2.知識點【1】命令選項
- -n 不要在最后自動換行
- -e 若字符串中出現如下轉移字符,則按照轉義字符的意思處理
MBC02FV3MZMD6P:J_shell j$ echo "hello world" hello world MBC02FV3MZMD6P:J_shell j$ echo -n "hello world" hello worldMBC02FV3MZMD6P:J_shell j$
hello worldMBC02FV3MZMD6P:J_shell j$ echo -n "Login:";read Login:ll MBC02FV3MZMD6P:J_shell j$ echo -n "data:";date +%F data:2021-11-30 MBC02FV3MZMD6P:J_shell j$
先熟悉下面的轉移字符的意思
知識點:轉義字符
- \a 發出警告聲
- \b 刪除前一個字符
- \c 最后不加上換行符號
- \t tab鍵, 制表符
- \n 換行且光標移至首行
3.echo 顯示轉義字符(結合-e)
\a 結合-e,發出喇叭聲;不加-e就是字符串
MBC02FV3MZMD6P:J_shell j$ echo "\a\a\a" \a\a\a MBC02FV3MZMD6P:J_shell j$ echo -e "\a\a\a" MBC02FV3MZMD6P:J_shell j$
\t 插入tab鍵
MBC02FV3MZMD6P:J_shell j$ echo -e "\t\t\t Title" Title MBC02FV3MZMD6P:J_shell j$
\b 刪除前一個字符
MBC02FV3MZMD6P:J_shell j$ echo -e "bc\ba" ba MBC02FV3MZMD6P:J_shell j$
\c 回車不換行
MBC02FV3MZMD6P:J_shell j$ echo -e "bc\ba\c" baMBC02FV3MZMD6P:J_shell j$
組合舉個例子:
form_output.sh
#!/bin/bash echo -e "\t\t\t\tMcDonald Shop" echo -e "\t\t1) Chicken" echo -e "\t\t2) Chips" echo -e "\t\t3) Hamburger"
MBC02FV3MZMD6P:J_shell j$ bash form_output.sh McDonald Shop 1) Chicken 2) Chips 3) Hamburger MBC02FV3MZMD6P:J_shell j$ echo $? 0 MBC02FV3MZMD6P:J_shell j$
二、顏色代碼
腳本中echo現實內容帶顏色顯示,echo顯示帶顏色,需要使用參數 -e
格式:
echo -e "\033[子背景顏色:文字顏色 字符串\033[0m"
舉個例子:
echo -e "\033[41;36m hello world \033[0m"
- 41的位置:表示底色,后面是分號
- 36的位置:表示字的顏色
- 文件顏色后面要有個m
- 字符串前后可以沒有空格,如果有的話,輸出也是有空格
- 最后的0m的位置表示屬性,0m是關閉所有屬性
下面是帶顏色輸出的參考范圍;
#!/bin/bash # #下面是字體輸出顏色及終端格式控制 #字體色范圍:30-37 echo -e "\033[30m 黑色字 \033[0m" echo -e "\033[31m 紅色字 \033[0m" echo -e "\033[32m 綠色字 \033[0m" echo -e "\033[33m 黃色字 \033[0m" echo -e "\033[34m 藍色字 \033[0m" echo -e "\033[35m 紫色字 \033[0m" echo -e "\033[36m 天藍字 \033[0m" echo -e "\033[37m 白色字 \033[0m" #字背景顏色范圍:40-47 echo -e "\033[40;37m 黑底白字 \033[0m" echo -e "\033[41;30m 紅底黑字 \033[0m" echo -e "\033[42;34m 綠底藍字 \033[0m" echo -e "\033[43;34m 黃底藍字 \033[0m" echo -e "\033[44;30m 藍底黑字 \033[0m" echo -e "\033[45;30m 紫底黑字 \033[0m" echo -e "\033[46;30m 天藍底黑字 \033[0m" echo -e "\033[47;34m 白底藍字 \033[0m" #控制選項說明 #\033[0m 關閉所有屬性 #\033[1m 設置高亮度 #\033[4m 下划線 echo -e "\033[4;31m 下划線紅字 \033[0m" #閃爍 echo -e "\033[5;34m 紅字在閃爍 \033[0m" #反影 echo -e "\033[8m 消隱 \033[0m " #\033[30m-\033[37m 設置前景色 #\033[40m-\033[47m 設置背景色 #\033[nA光標上移n行 #\033[nB光標下移n行 echo -e "\033[4A 光標上移4行 \033[0m" #\033[nC光標右移n行 #\033[nD光標左移n行 #\033[y;xH設置光標位置 #\033[2J清屏 #\033[K清除從光標到行尾的內容 echo -e "\033[K 清除光標到行尾的內容 \033[0m" #\033[s 保存光標位置 #\033[u 恢復光標位置 #\033[?25| 隱藏光標 #\033[?25h 顯示光標 echo -e "\033[?25l 隱藏光標 \033[0m" echo -e "\033[?25h 顯示光標 \033[0m" #下面的這個例子是字體不停的閃爍。 #!/bin/bash # a=30 b=41 while true do echo -e "\033[${a}m光輝女郎\033[0m" echo -e "\033[${a}m的嗎西亞\033[0m" echo -e "\033[${a}m洛克薩斯\033[0m" a=$(($(($a%7))+30)) b=$(($(($b%7))+40)) #每次讓字體顏色在30-37轉換 #每次讓背景顏色在40-47轉換 echo -e "\033[4A\033[0m" done