[問題] 如何讓command prompt過長時自動換行

看板Linux作者 (一步一腳印)時間12年前 (2011/08/31 11:25), 編輯推噓4(400)
留言4則, 2人參與, 最新討論串1/1
有時候cd到了一個名稱太長的路徑 光是command prompt就佔了螢幕的快一半(雖然我terminal字型已經調得不是很大了) 請問如何設定成當command prompt超過螢幕橫向寬度一定比例時自動換行? 我知道command prompt是由PS1這個變數決定的 但不知如何判斷command prompt佔螢幕的比例 另一個問題是PS1似乎是不變的 我的意思是 以我的PS1為例: \[\e[32;1m\]L:\[\e[34;1m\]\w>\[\e[0m\] 這PS1不會因為我cd到其他路徑而有所改變 這樣無法知道command prompt的長度 希望設計一個方法 可以用在螢幕大小不同的電腦上 而不需每次換了一台電腦就要重新設定 有任何建議嗎? (我目前的作法是 若command prompt太長就用\換行後再打指令 但每次都要打\並不是很方便) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.31.149

08/31 12:33, , 1F
好文!不過好像沒提到我要功能

08/31 14:17, , 2F
你可以計算你的位置到哪了啊
08/31 14:17, 2F
恩...是說計算字元數然後寫死嗎? 但這樣是不是當terminal字型大小有所改變 或換了一個解析度/吋數不一樣的螢幕 就要重新計算了? ※ 編輯: Holocaust123 來自: 140.112.31.149 (08/31 14:32)

08/31 16:18, , 3F
這樣也不算寫死,要動態讀到terminal的width
08/31 16:18, 3F

08/31 17:31, , 4F
bash: $COLUMNS
08/31 17:31, 4F
文章代碼(AID): #1ENQcTa1 (Linux)