Linux zsh将转义字符打印到日志
我最近将默认shell从bash更改为zsh。我正在使用linux 当我将zsh脚本的输出重定向到日志文件,然后用vim打开该日志文件时,我会打印出一堆转义字符,以及我编写的几乎所有命令 例如,在我的脚本中Linux zsh将转义字符打印到日志,linux,vim,zsh,Linux,Vim,Zsh,我最近将默认shell从bash更改为zsh。我正在使用linux 当我将zsh脚本的输出重定向到日志文件,然后用vim打开该日志文件时,我会打印出一堆转义字符,以及我编写的几乎所有命令 例如,在我的脚本中 printf "\nFinished at " date 如果我对日志文件进行cat,则该行看起来像 Finished at Wed Apr 28 13:58:30 CDT 2021 但如果我将vim写入日志文件,它看起来像: Finished at ^[]2;dat
printf "\nFinished at "
date
如果我对日志文件进行cat,则该行看起来像
Finished at Wed Apr 28 13:58:30 CDT 2021
但如果我将vim写入日志文件,它看起来像:
Finished at ^[]2;date^G^[]1;^GWed Apr 28 13:58:30 CDT 2020
使用less代替vim显示相同的内容,减去^[]
(但使用^G
)
日志文件中的第一行是脚本中的大量命令(我不想打印这些命令)以及转义字符
我猜这是我可以用stty
解决的问题,但我尝试添加
stty -echoctl
到我的
.zshrc
,但它没有修复任何问题。如何“将zsh脚本的输出重定向到日志文件”?转义字符看起来像用于更改终端窗口标题栏的序列cat
将字节直接写入终端,终端将其解释为指令,而不是显示它们vim
只是简单地显示它们,而less
显然在两者之间做了一些事情。date
本身是普通命令的包装器吗?