【发布时间】:2015-12-02 00:24:09
【问题描述】:
在我的 .bashrc 文件中,我有以下几行:
alias cd='_cd'
function cd()
{
cd "$1"
PS1='[$USER] "$PWD" $ '
}
但是,在获取我的 .bashrc 之后,每次我尝试运行该命令时,都会收到一条进程完成消息,并且我被锁定在 shell 之外。
[prompt] $ source ~/.bashrc
[prompt] $ cd ~
[Process completed]
如何在不收到进程完成消息的情况下轻松实现此功能?
【问题讨论】:
-
您定义了别名
cd来调用函数_cd,但是您定义了一个函数cd而不是_cd?无论如何,您不需要在提示中设置 PWD 的功能,对吗?只需在任何函数之外用单引号将 PS1 设置为这样,它就可以正常工作,不是吗?而为了测试,也许你不应该修改真正的.bashrc;创建一个新文件(可能是bash.test)并对其进行编辑并获取该文件 - 然后在您确信一切正常时将代码添加到真实的.bashrc。
标签: macos bash function command-line ps1