1. 程式人生 > 實用技巧 >shell學習筆記(3)

shell學習筆記(3)

echo 是一個Shell 內建命令,用來在終端輸出字串,並在最後預設加上換行符。

#!/bin/bash

name="Shell教程"
url="http://c.biancheng.net/shell/"

echo "讀者,你好!"  #直接輸出字串
echo $url  #輸出變數
echo "${name}的網址是:${url}"  #雙引號包圍的字串中可以解析變數
echo '${name}的網址是:${url}'  #單引號包圍的字串中不能解析變數

不換行

echo 命令輸出結束後預設會換行,如果不希望換行,可以加上-n引數

#!/bin/bash
name="Tom"
age=20
height
=175 weight=62 echo -n "${name} is ${age} years old, " echo -n "${height}cm in height " echo "and ${weight}kg in weight." echo "Thank you!"

執行結果:

Tom is 20 years old, 175cm in height and 62kg in weight.
Thank you!

輸出轉義字元

預設情況下,echo 不會解析以反斜槓\開頭的轉義字元。比如,\n表示換行,echo 預設會將它作為普通字元對待。請看下面的例子:

[root@localhost ~]# echo
"hello \nworld" hello \nworld

我們可以新增-e引數來讓 echo 命令解析轉義字元。例如:

[root@localhost ~]# echo -e "hello \nworld"
hello
world

\c 轉義字元

有了-e引數,我們也可以使用轉義字元\c來強制 echo 命令不換行了。請看下面的例子:

#!/bin/bash
name="Tom"
age=20
height=175
weight=62
echo -e "${name} is ${age} years old, \c"
echo -e "${height}cm in height \c"
echo
"and ${weight}kg in weight." echo "Thank you!"

執行結果:

Tom is 20 years old, 175cm in height and 62kg in weight.
Thank you!

shell ehco 中的轉義字元

轉義字元含義
\a 發出警告音
\b 退格
\c 忽略之後的字元,包括換行
\f 清屏
\r 回車
\t 水平製表符
\v 垂直製表符
\\ 反斜線
\0ddd 八進位制ascii

‘!’ :在echo輸出中有特殊含義的

shell指令碼中echo顯示內容帶顏色顯示,echo顯示帶顏色,需要使用引數-e (注意:BASH中適用,切換:在命令列輸入bash
格式如下:

echo -e "\033[字背景顏色;文字顏色m 字串\033[0m" 

例如

echo -e "\033[41;36m something here \033[0m" 

其中41的位置代表底色, 36的位置是代表字的顏色

注:
  1、字背景顏色和文字顏色之間是英文的""
  2、文字顏色後面有個m
  3、字串前後可以沒有空格,如果有的話,輸出也是同樣有空格
  下面是相應的字和背景顏色,可以自己來嘗試找出不同顏色搭配

echo -e “\033[31m 紅色字 \033[0m” 
echo -e “\033[34m 黃色字 \033[0m” 
echo -e “\033[41;33m 紅底黃字 \033[0m” 
echo -e “\033[41;37m 紅底白字 \033[0m” 

字顏色: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”
echo -e "\033[41;36m something here \033[0m" 

字背景顏色範圍:40—–47‘

  echo -e “\033[40;37m 黑底白字 \033[0m” 
  echo -e “\033[41;37m 紅底白字 \033[0m” 
  echo -e “\033[42;37m 綠底白字 \033[0m” 
  echo -e “\033[43;37m 黃底白字 \033[0m” 
  echo -e “\033[44;37m 藍底白字 \033[0m” 
  echo -e “\033[45;37m 紫底白字 \033[0m” 
  echo -e “\033[46;37m 天藍底白字 \033[0m” 
  echo -e “\033[47;30m 白底黑字 \033[0m”

最後面控制選項說明

  \33[0m 關閉所有屬性 
  \33[1m 設定高亮度 
  \33[4m 下劃線 
  \33[5m 閃爍 
  \33[7m 反顯 
  \33[8m 消隱 
  \33[30m — \33[37m 設定前景色 
  \33[40m — \33[47m 設定背景色 
  \33[nA 游標上移n行 
  \33[nB 游標下移n行 
  \33[nC 游標右移n行 
  \33[nD 游標左移n行 
  \33[y;xH設定游標位置 
  \33[2J 清屏 
  \33[K 清除從游標到行尾的內容 
  \33[s 儲存游標位置 
  \33[u 恢復游標位置 
  \33[?25l 隱藏游標 
  \33[?25h 顯示游標