靠腰~~~
是我自己不知道的echo.... T__T
感覺有個小BUG死在這個小細節.... 而且還不是我弄的
code 裡面用system call 的echo 跟 console 下面手打的反應竟然不同....
Orz... 用男人問了一下echo 才知道 囧>
通常echo就是拿來回呼你打入的字串,或者是把字串傳入某個目的檔
如: echo "bejo" > bejo.txt
(題外話: 還搞不清楚 " " 符號 跟 ' ' 在echo 使用上有差別嗎?)
echo command 也是有參數的
-e: 允許用跳脫符號 ( \ )
-n: 結束不要自動換行(預設會)
-E: 不允許用跳脫符號(預設)
看起來沒啥問題就出在一些tty dev用echo 餵參數的時候會卡在換行,特殊符號等等
所以應該要
echo -ne "bejo is \"8787\"\n" > /dev/ttyXXX
要加上參數... 嗚~~真痛O__Q
紀錄幾個跳脫常用的
\n 換行
\a 發出逼逼聲
\b 往前刪除一個字( backspace)
\r 往前整行刪掉
特別的是
\0NNN NNN是十進位 可以echo 出 ascii 上的字元
例如:
echo -e "\0100" 印出 @
\xHH HH 是16進位
echo -e "\x40" 效果跟上面的一樣 印出@
詳細對照可以
man ascii 查詢
------------------------
echo 也可以改變console顏色
分為前景跟背景
echo -e "\E[31;42mBEJO\n"
m後面就是跟著你想顯示的文字內容
前景是紅 31
背景是綠 42
數字對調沒差,因為定義不重疊
我用烏幫兔玩一下然後...console 變的很噁心,可以用
echo -ne \E[0m
加在字尾也可
echo -e "\E[31;42mBEJO\E[0m"
復原
下面是網路查到對應表:
-------------------------------
前 背
黑 30 40
紅 31 41
綠 32 42
黃 33 43
藍 34 44
青 36 46
白 37 47
聽說不是每個終端機都一樣,阿災~
沒有留言:
張貼留言