![从 Bash 脚本中清除“未知”字符](https://linux22.com/image/903933/%E4%BB%8E%20Bash%20%E8%84%9A%E6%9C%AC%E4%B8%AD%E6%B8%85%E9%99%A4%E2%80%9C%E6%9C%AA%E7%9F%A5%E2%80%9D%E5%AD%97%E7%AC%A6.png)
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
- 不再有奇怪的符号