tag:blogger.com,1999:blog-4013660499115623904.post1999764649758602897..comments2023-04-06T22:51:02.758+08:00Comments on 星之一角: 終於解了我 bash 一直以來的問題之一Lin Jen-Shin (godfat)http://www.blogger.com/profile/04471393622959484230noreply@blogger.comBlogger3125tag:blogger.com,1999:blog-4013660499115623904.post-81376347592590422052011-06-27T04:28:40.228+08:002011-06-27T04:28:40.228+08:00感謝 <(_ _)>
我以為 tty 是 output 給 terminal 的 dev...感謝 <(_ _)><br />我以為 tty 是 output 給 terminal 的 device...<br />/dev 底下一大堆各式各樣的 tty @@"<br /><br />至於 256 色,就我看 <a href="http://en.wikipedia.org/wiki/ANSI_escape_code#CSI_codes" rel="nofollow">wikipedia</a> 是只看到 xterm<br />另外我記得我之前明明就有看到另一種輸出 256 色的號碼,<br />可是現在卻找不到了,真是奇怪。記得不同 terminal 效果也不太一樣<br /><br />不過 bash 都發展多久了... 不免在猜想,<br />是不是他覺得有些 control sequence 其實應該要有顯示長度的?<br />但都叫 "control" 了,總還是覺得哪裡怪怪的。<br />比方說,像是跳游標位置的 control sequence,<br />難道也會有顯示寬度嗎? :s<br />這些難道不是都有標準? "ANSI" control sequence...<br />那麼這麼做的理由是?還是單純為了 compatibility?<br />是可以理解 shell 這種東西不宜改變.......Lin Jen-Shin (godfat)https://www.blogger.com/profile/04471393622959484230noreply@blogger.comtag:blogger.com,1999:blog-4013660499115623904.post-79472212601327202892011-06-27T04:15:23.371+08:002011-06-27T04:15:23.371+08:00shell就是一般普通的R-E-P-L程式
terminal跟tty負責輸出和輸入
也就是說term...shell就是一般普通的R-E-P-L程式<br />terminal跟tty負責輸出和輸入<br />也就是說terminal依據ansi control sequence和內容畫出顏色/文字,並處理游標移動和捲動<br />tty則是把鍵盤輸入轉成keyvalue(如一般英文字母)或ansi control sequence(如方向鍵或一些組合鍵)<br /><br />但tty有時候也指I/O pair,講到pty的時候就是指I/O pair了<br /><br />256色的色碼是有標準的(好像只有xterm?),bash要特別加[]我猜可能是parser不夠力,無法自動判斷出那是control sequence還是其他東西,所以無法判斷正確length以至於無法送正確的cursor position給terminal(\e[m;nH這種control sequence)Buganinihttps://www.blogger.com/profile/07530882320111210218noreply@blogger.comtag:blogger.com,1999:blog-4013660499115623904.post-90908853549405715822011-06-27T04:14:55.119+08:002011-06-27T04:14:55.119+08:00This comment has been removed by the author.Buganinihttps://www.blogger.com/profile/07530882320111210218noreply@blogger.com