修剪PS1的工作目录路径

时间:2013-08-28 18:35:34

标签: linux bash ubuntu ps1

有没有办法让我的ubuntu命令提示符如下:

user @ host:home $

但仍然有以下行为:

user @ host:home $ cd projects

user @ host:home / projects $

现在,主目录之前的工作目录路径上堆满了来自我学校服务器的东西(例如user @ host:/ blah / blah / blah / home $)。有没有办法在我导航时仍然可以将目录路径附加到提示符,但只是修剪开始的东西?

2 个答案:

答案 0 :(得分:0)

您可以创建一个函数并将其放在您的rc文件中(可能是〜/ .bashrc),如下所示:

function simplify_dir {
    local PREFIX
    if [[ $PWD == "$HOME"* ]]; then
        PREFIX=${HOME%/}
        PREFIX=${PREFIX%/*}
        echo "${PWD##"$PREFIX/"}"
    else
        echo "$PWD"
    fi
}

同时添加此命令以在提示符中启用扩展:

shopt -s promptvars

然后将PS1提示设置为以下内容:

PS1='\u@\h:$(simplify_dir)\$ '

答案 1 :(得分:0)

试试这个:

PS1="[\u@\h:\w ] $ " 

案件事项:

  • \ w:当前工作目录,$ HOME缩写为波浪号
  • \ W:当前工作目录的基本名称,$ HOME缩写为代字号
相关问题