Bash
終端中如何顯示可替換文本?
例如,在做之後
apt-get update
,它Reading package lists... 82%
以百分比變化顯示在同一行。這是如何實現的?是否可以在 bash 腳本中使用它?
如果您還沒有輸出新行(例如:在 echo 命令中使用*-n*),命令:
echo -e "\r\033["
會成功的。
終端了解轉義序列以移動游標、更改文本顏色和其他操作。這些轉義序列記錄在termcap和terminfo數據庫中,因為它們在終端類型之間有所不同(儘管當今大多數終端類型大多實現相同的轉義序列)。
您可以使用腳本實用程序記錄應用程序的完整輸出。
script -c 'apt-get update' apt-get.script
apt-get
保持簡單:它只使用控製字元輸入(稱為 CR、Ctrl+M、\r
…)將游標移動到目前行的開頭。