注意前面缺少的空格foo
:
$ ps wafux | grep foo
[....] 21742 0.0 0.0 10688 2296 pts/2 S+ 23:30 0:00 \_ grep --color=autofoo
$ echo $COLUMNS
99
与此比较:
$ ps wafux | grep foo
[....] 22183 0.0 0.0 10688 2276 pts/2 S+ 23:40 0:00 \_ grep --color=auto foo
$ echo $COLUMNS
100
在两个都在这种情况下,输出中的最后一个oo
位于第二行。调整大小后的说明截图(删除用户名和第一条提示行):
是否存在某些配置问题或已知问题?我的提示符在换行符后不包含任何格式代码:
$ printf '%q\n' "$PS1"
$'$(exit_code=$?; [[ $exit_code -eq 0 ]] || printf %s \\[$BOLD_FORMAT\\] \\[$ERROR_FORMAT\\] $exit_code \\[$RESET_FORMAT\\] " ")\\u@\\[$BOLD_FORMAT\\]\\[$WARNING_FORMAT\\]\\h\\[$RESET_FORMAT\\]:\\[$BOLD_FORMAT\\]\\[$INFO_FORMAT\\]\\w\\[$RESET_FORMAT\\]\\[\\033]0;\\u@\\h:${PWD}\\007\\]$(__git_ps1 " (%s)")\n$ '
答案1
如果这种情况仅发生在着色时,则看起来像这个 grep 错误。
ne
解决方法是在设置中使用GREP_COLORS
,例如:GREP_COLORS=ne