从 Bash 脚本中清除“未知”字符

从 Bash 脚本中清除“未知”字符
set | grep TERM
TERM=xterm
    case "${TERM:-dumb}" in
        _rvm_old_traps=$( __rvm_grep -E 'EXIT|HUP|INT|QUIT|TERM' <(trap) );
        trap '__rvm_teardown_final ; set +x' EXIT HUP INT QUIT TERM;
        trap - EXIT HUP INT QUIT TERM;
            case "${TERM:-dumb}" in

echo $TERM
xterm

在 shell 输出中我得到了这个奇怪的字符:[3;J[H[2J以及所需输出下方的几行

值得一提的是完整代码(这是在 Linux 下运行的 powershell 脚本)

#!/bin/bash
out=$(pwsh /usr/lib/zabbix/externalscripts/1.ps1)
zabbix_sender -z localhost -p 10051 -s "London" -k status.azure -o "$out"

添加此行时clear | hexdump

我越来越

0000000 5b1b 3b33 1b4a 485b 5b1b 4a32
000000c

如何从输出中清除它?

clear | od -bc输出:

0000000 033 133 063 073 112 033 133 110 033 133 062 112
        033   [   3   ;   J 033   [   H 033   [   2   J
0000014

答案1

我通过以下解决方法解决了这个问题:

-在 powershell 脚本中将输出重定向到文件

-在 shell 脚本中添加了用于读取该文件内容的行

-发送文件内容到zabbix

- 不再有奇怪的符号

相关内容