更改我的PROMPT_COMMAND添加了一个新行

时间:2016-05-11 13:42:04

标签: bash terminal .bash-profile iterm2

我已将以下行添加到我的~/.bashrc文件中以更改标签标题:

export PROMPT_COMMAND='echo -e "\033];My Machine\007"'

在我获取文件后,我的提示在每个命令后添加一个新的空白行。例如:

user machine ~:> pwd
/a/path/whatever

user machine ~:>

我不希望第三个空白行存在。我已经测试了使用.bashrc行和不使用PROMPT_COMMAND行搜索我的db.activity.aggregate([ {$project: { "year": {$year: "$createdAt"}, "month": {$month: "$createdAt"}, "weekOfMonth": {$floor: {$divide: [{$dayOfMonth: "$createdAt"}, 7]}} }}, {$group: { "_id": {"year": "$year", "month": "$month", "weekOfMonth": "$weekOfMonth"}, count: { $sum: 1 } }}, {$match : { "_id.year" : 2016, "_id.month" : 5}} ]) ,我知道这是违规行。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

试试这个:

export PROMPT_COMMAND='echo -en "\033];My Machine\007"'

答案 1 :(得分:1)

如果echo -en支持echo,请使用PROMPT_COMMAND(禁止换行)。

我认为没有必要在此使用PS1,您可以将其添加到PS1="\[\033]0;My Machine\007\007\]$PS1"

\[ \]

PS1="\[\e]0;\u@\h: \w\a\]$PS1" 确保它们之间的宽度不会超出行长计数。

有预定义的转义序列,因此您无需对机器名称进行硬编码,请参阅the manual。例如这个

\e

使用\a\033代替\007 \和user@hostname: currentdir进行转义和响铃,并将标签标题设置为 ?- subtract([1,2,3],[1],L). L = [2,3] ?- subtract([1,2,3],[1,2],L). L = [3]

另请参阅relevant section in the Bash Prompt HOWTOXterm title HOWTO