Bash在角色之间增加了额外的空间

时间:2015-06-16 14:15:09

标签: bash command-line

在一个特定目录中,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

0 个答案:

没有答案