
每次終端尺寸發生變化時,通常bash
會resize
自動正確地重新計算LINES
和。COLUMNS
但由於某種原因,這在互動式運行的 Docker 容器中不起作用bash
。
我shopt checkwinsize -s
在bashrc
Docker 容器中(並驗證它正在on
使用shopt
)。與主機bash
會話相同。
我真的沒主意了;這是我發現的在調整視窗大小時自動評估的shopt checkwinsize -s
唯一方法。bash
resize
答案1
如果你的 shell 被 su 為 root,Docker 可能無法成功向它發送訊號,因為這跨越了權限邊界。 (這不僅僅是 Docker 的問題)。
延伸閱讀:
- SIGWINCH 附加進程 #5736,提到了這個
su
問題。 - SIGBJD
- Docker附加到curses進程