小编Not*_*ber的帖子

在bash脚本中重定向输出时如何避免使用特殊字符

当将输出从bash脚本重定向到文件时,我在文件中得到特殊字符.例如,

for file in *; do echo $file; done > output.txt
Run Code Online (Sandbox Code Playgroud)

那么如果我cat output.txt

cat output.txt
Run Code Online (Sandbox Code Playgroud)

我明白了

file1.txt
file2.txt
file3.txt
output.txt
Run Code Online (Sandbox Code Playgroud)

但是在编辑文件时,我看到了这个:

^[[0m^[[0mfile1.txt
^[[0m^[[0mfile2.txt
^[[0m^[[0mfile3.txt
^[[0m^[[0moutput.txt
Run Code Online (Sandbox Code Playgroud)

我如何避免那些讨厌的角色?


解:

我在.bashrc中有以下行:

trap 'echo -ne "\e[0m"' DEBUG
Run Code Online (Sandbox Code Playgroud)

通过删除它,我解决了这个问题.

感谢大家的帮助.

bash

6
推荐指数
1
解决办法
2820
查看次数

标签 统计

bash ×1