我发现自己无法在cshell脚本中执行简单的进度条,无法输出换页符。这完全不受cshell的支持吗? (或tcshell)?
是否有任何替代方法可以输出进度条(以及进度的结束点),以便在进度迭代之间运行shell命令?
我可以使用awk吗? Awk对我来说非常模糊。
答案 0 :(得分:1)
您可以使用printf
命令(不是特定于csh或tcsh)。要打印换页字符(ctl-L):
printf '\xc'
演示:
% printf '\xc' | od -c
0000000 \f
0000001
但你确定formfeed是你想要的角色吗?它通常对兼容VT-100的终端仿真器没有影响。
您可以使用tcsh的内置echotc
命令打印termcap定义的任意控制字符序列。 man tcsh
并搜索echotc
了解详情; man 5 termcap
查看echotc
识别的双字符代码。
更可移植(对于除csh和tcsh之外的shell),tput
命令(ncurses
包的一部分)类似于echotc
,但它使用terminfo功能名称而不是termcap(如果支持被编译到包中,它也支持termcap)。