在终端中,如果我输出某种就地的单行进度指示器,\r
就可以了:
while (1) { echo "progress indication\r"; }
但是,我有一个真正应该是多线的进度指示器。由于\r
只返回到当前行的开头,我想要一些可以向上移动几行的东西。是否有控制字符/功能允许我退回终端中的线路?
编辑:如果我不完全清楚,我希望有一个与\v
大致相反的东西,垂直标签,它将终端光标向下移动一行。
答案 0 :(得分:2)
没有控制字符可以返回上一行,但是根据TERM =类型,ANSI转义可能会有效。
echo -e "\033[2A"
以下列表可能更有帮助:http://en.wikipedia.org/wiki/ANSI_escape_code以及在http://www.linuxselfhelp.com/howtos/Bash-Prompt/Bash-Prompt-HOWTO-6.html
中的用法