临近 EOL 时,“ps”输出中缺少空格

临近 EOL 时,“ps”输出中缺少空格

注意前面缺少的空格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

相关内容