linux 命令 echo 使用说明
echo 命令是 Linux 中最基礎的命令,也是最常用的命令,特別是在寫 shell 腳本的時候。可能會被經常用到,雖然 echo 命令比較基礎,但是功能還算豐富,此處對 echo 命令的常用方法進行總結,并給出示例,方便記憶與回顧。
echo 命令的基本用法,很簡單,就是 echo 命令后面跟上要輸出的文本。
[root@localhost ~]# echo "www.baidu.com"
www.baidu.com
[root@localhost ~]# echo test xia
test xia
[root@localhost ~]# echo 123
123
除了基本用法,還可以配合一些選項使用
echo -n 表示不換行輸出
[root@localhost ~]# echo -n 123;echo 456
123456
[root@localhost ~]# echo -n 123
123[root@localhost ~]#
echo 輸出命令替換后的內容,例如 echo `ifconfig`。
[root@localhost ~]# echo `ifconfig`
ens32: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.200.115 netmask 255.255.255.0 broadcast 192.168.200.255 inet6 fe80::19dd:30dd:c333:988f prefixlen 64 scopeid 0x20<link> ether 00:0c:29:c9:a5:31 txqueuelen 1000 (Ethernet) RX packets 13379 bytes 925270 (903.5 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 3754 bytes 462452 (451.6 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 468 bytes 40736 (39.7 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 468 bytes 40736 (39.7 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[root@localhost ~]#
輸出的文本格式可能不是我們想要的。可以使用 echo "`ifconfig`"
[root@localhost ~]# echo "`ifconfig`"
ens32: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
? ? ? ? ? ? inet 192.168.200.115 netmask 255.255.255.0 broadcast 192.168.200.255
? ? ? ? ? ? inet6 fe80::19dd:30dd:c333:988f prefixlen 64 scopeid 0x20<link>
? ? ? ? ? ? ether 00:0c:29:c9:a5:31 txqueuelen 1000 (Ethernet)
? ? ? ? ? ? RX packets 13496 bytes 933316 (911.4 KiB)
? ? ? ? ? ? RX errors 0 dropped 0 overruns 0 frame 0
? ? ? ? ? ? TX packets 3784 bytes 466094 (455.1 KiB)
? ? ? ? ? ? TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
? ? ? ?inet 127.0.0.1 netmask 255.0.0.0
? ? ? ?inet6 ::1 prefixlen 128 scopeid 0x10<host>
? ? ? ?loop txqueuelen 1000 (Local Loopback)
? ? ? ?RX packets 468 bytes 40736 (39.7 KiB)
? ? ? ?RX errors 0 dropped 0 overruns 0 frame 0
? ? ? ?TX packets 468 bytes 40736 (39.7 KiB)
? ? ? ?TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[root@localhost ~]#
echo -e 處理特殊字符
若字符串出現以下字符,則特別加以處理,而不會將它當成一般文字輸出:
\a? 發出警告聲
\b? 刪除前一個字符
\c? 最后不加上換行符號
\f? 換行但光標仍舊停留在原來的位置
\n? 換行且光標移動至行首
\r? 光標移至行首,但不換行
\t? 插入 tab
\v? 與 \f 相同
\\? 插入 \ 字符
\nnn? 插入nnn (八進制)所代表的 ASCII 字符
?使用 echo 命令輸出 "\b" 轉義字符,在 "\b" 后面存在字符的前提下,"\b" 表示刪除前一個字符,"\b\b" 表示刪除前兩個字符。
[root@localhost ~]# echo -e "123\b"
123
[root@localhost ~]# echo -e "123\b4567"
124567
[root@localhost ~]# echo -e "123\b\b4567"
14567
[root@localhost ~]#
?使用 echo 命令輸出 "\c" 轉義字符,當 "\c" 后面存在字符,"\c" 后面的字符將不會被輸出,當 "\c" 后面不存在字符,效果與使用 "echo -n" 相同。
[root@localhost ~]# echo -e "123\c"
123[root@localhost ~]#
[root@localhost ~]# echo -n "123"
123[root@localhost ~]#
[root@localhost ~]# echo -e "123\c456"
123[root@localhost ~]#
[root@localhost ~]#
?使用 echo 命令輸出 "\f" 轉義字符,表示換行,但是換行后的新行的開頭位置連接著上一行的行尾。
[root@localhost ~]# echo -e "123\f456"
123
? ? ? 456
[root@localhost ~]#
?使用 echo 命令輸出 "\n" 轉義字符,被輸出的字符從 "\n" 處開始另起一行。
[root@localhost ~]# echo -e "123\n456"
123
456
[root@localhost ~]#
使用 echo 命令輸出 "\r" 轉義字符,表示使用 "\r" 后面的字符覆蓋 "\r" 之前的同等長度的字符。
[root@localhost ~]# echo -e "123456\rabc"
abc456
[root@localhost ~]# echo -e "123\rabc"
abc
[root@localhost ~]# echo -e "1\rabc"
abc
[root@localhost ~]# echo -e "a\r"
a
[root@localhost ~]#
使用 echo 命令輸出 "\t" 轉義字符,作用相當于鍵盤上的 tab 鍵。
[root@localhost ~]# echo -e "123\tabc"
123 abc
[root@localhost ~]#
使用 echo 命令輸出 "\\" 轉義字符,表示 "\"。
[root@localhost ~]# echo -e "123\\456"
123\456
[root@localhost ~]#
echo -e 除了輸出轉義字符外,還能夠在命令行中輸出彩色的字符,或者帶有彩色背景的字符。
格式如下:?
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?
30 黑色
31 紅色
32 綠色
33 黃色
34 藍色
35 紫色
36 淺藍色
37 灰色
字背景顏色范圍:40—–47?
40 黑色
41 紅色
42 綠色
43 黃色
44 藍色
45 紫色
46 淺藍色
47 灰色
最后面控制選項說明?
\033[0m 關閉所有屬性
\033[1m 設置高亮度
\033[4m 下劃線
\033[5m 閃爍
\033[7m 反顯
\033[8m 消隱
\033[30m — \33[37m 設置前景色
\033[40m — \33[47m 設置背景色
\033[nA 光標上移n行
\033[nB 光標下移n行
\033[nC 光標右移n行
\033[nD 光標左移n行
\033[y;xH設置光標位置
\033[2J 清屏
\033[K 清除從光標到行尾的內容
\033[s 保存光標位置
\033[u 恢復光標位置
\033[?25l 隱藏光標
\033[?25h 顯示光標
總結
以上是生活随笔為你收集整理的linux 命令 echo 使用说明的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python 为什么不支持 i++ 自增
- 下一篇: 各种软件的含义和特点