您好,我正在运行 bash shell 脚本以发送到 html 页面,但 html 页面不断将此“[7l”字符与 bash 脚本的 shell 命令输出一起放入。
echo "<pre>" >> stats.html
echo "####### DISK Usage ########" >> stats.html
/usr/bin/dstat --disk-util --disk --top-bio-adv 1 1 >> stats.html
echo "</pre>" >> stats.html
html 页面中有这个
####### DISK Usage ########
[7lsda- -dsk/total- ----most-expensive-block-i/o-process----
util| read writ|process pid read write cpu
0.04| 16k 8087B|systemd 1 8111B6247B0.0%
答案1
只是过滤一下东西:
/usr/bin/dstat ... | sed 's/\x1b\[7l//' >> stats.html
由于dstat
是一个 python 脚本,您也可以通过编辑它来修复它:将sys.stdout.write
后面的行### Disable line wrapping
移到 后面(正确缩进)if sys.stdout.isatty()
:
--- dstat~
+++ dstat
@@ -2267,10 +2267,10 @@
hostname = os.uname()[1]
### Disable line-wrapping (does not work ?)
- sys.stdout.write('\033[7l')
### Write term-title
if sys.stdout.isatty():
+ sys.stdout.write('\033[7l')
shell = os.getenv('XTERM_SHELL')
term = os.getenv('TERM')
if shell == '/bin/bash' and term and re.compile('(screen*|xterm*)').match(term):