在一个特定目录中,bash在我键入的光标点/字符之间添加一个额外的空格。
例如:
~(master)$ l s
如果我一直打字到达该行的末尾,而不是按预期创建一个新行,我输入的字符似乎在该行的最后一个空格中相互覆盖。如果我点击return(回车),命令将按正常方式执行。
这只发生在一个特定目录上..在其他目录中,bash照常运行。
到目前为止,这已经发生了两天。在那段时间我重新启动了bash,我的电脑,在其他目录中工作没有任何问题。
declare -p git_branch git_dirty
输出:
declare -- git_branch="(master)" declare -- git_dirty="*"
type find_git_branch find_git_dirty update_terminal_cwd
输出:
find_git_branch is a function
find_git_branch ()
{
local branch;
if branch=$(git rev-parse --abbrev-ref HEAD 2> /dev/null); then
if [[ "$branch" == "HEAD" ]]; then
branch='detached*';
fi;
git_branch="($branch)";
else
git_branch="";
fi
}
find_git_dirty is a function
find_git_dirty ()
{
local status=$(git status --porcelain 2> /dev/null);
if [[ "$status" != "" ]]; then
git_dirty='*';
else
git_dirty='';
fi
}
update_terminal_cwd is a function
update_terminal_cwd ()
{
local SEARCH=' ';
local REPLACE='%20';
local PWD_URL="file://$HOSTNAME${PWD//$SEARCH/$REPLACE}";
printf '\e]7;%s\a' "$PWD_URL"
}
Bash调试输出:
+ w
12:46 up 21:23, 3 users, load averages: 1.40 1.69 1.69
USER TTY FROM LOGIN@ IDLE WHAT
holiday console - Mon15 21:22 -
holiday s000 - 11:13 53 grunt
holiday s001 - 11:53 - w