标签: ps1

如何缩短命令行 (bash) 提示符?

目前是:

michael@Castle2012-Ubuntu-laptop01:~/Dropnot/webs/rails_v3/linker/spec/controllers$
Run Code Online (Sandbox Code Playgroud)

除了重命名我的机器和目录结构......

我怎样才能让它更像:

michael:controllers$
Run Code Online (Sandbox Code Playgroud)

command-line bash prompt bashrc ps1

205
推荐指数
4
解决办法
23万
查看次数

在哪里可以找到 $PS1 变量的完整参考?

我的机器(Kubuntu 13.10)上的默认 PS1 变量是这样的:

\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$
Run Code Online (Sandbox Code Playgroud)

我正在寻找有关 $PS1 变量如何工作的参考,至少可以让我了解上述 PS1 变量。

bash ps1

24
推荐指数
3
解决办法
2万
查看次数

为什么我的功能没有在 PS1 中重新评估?

我正在尝试通过函数动态设置我的提示的一部分,所以在我的.bashrc我有:

asdf ()
{
    echo -n $(pwd)
}
PS1="\u@\h:\w $(asdf)\$ "
Run Code Online (Sandbox Code Playgroud)

打开一个 shell 给了我我最初的期望:

$ bash
darthbith@server:~/test /home/darthbith/test$
Run Code Online (Sandbox Code Playgroud)

但是,当我更改目录时,函数定义的部分不会改变:

darthbith@server:~/test /home/darthbith/test$ cd ~/test2
darthbith@server:~/test2 /home/darthbith/test$
Run Code Online (Sandbox Code Playgroud)

我的实际目标是当我使用漂亮的颜色和所有内容时,使用git-prompt.sh脚本来显示我的 git 存储库的分支,但问题是当我更改存储库时它永远不会更新分支名称。上面这个简单的例子是我可以为我的问题想出的最简单的复制品。

.bashrc我有整合的git-提示台词:

source ~/.git-prompt.sh
PS1="\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]$(__git_ps1)\$ "
Run Code Online (Sandbox Code Playgroud)

command-line bash prompt bashrc ps1

23
推荐指数
2
解决办法
6426
查看次数

在终端中添加当前的 git 分支

如何配置终端以显示当前的 git 分支?

我想看到第二行而不是第一行:

andy@bob:~/my_projects/project_x$ 
(master)~/my_projects/project_x$
Run Code Online (Sandbox Code Playgroud)

我不想再跑git status去看我现在在哪个分支了!

command-line prompt git ps1

21
推荐指数
1
解决办法
3万
查看次数

PS1 问题,搞乱 CLI

我做了一个简单的 PS1 作业

PS1="\e[0;31m[\W]\$ \e[m "
Run Code Online (Sandbox Code Playgroud)

我想要做的就是更改提示颜色并仅显示相对路径。但是,这会弄乱 CLI。例如,当浏览历史时,?它会裁剪并重叠显示。当我键入一个长命令时,光标移动到与提示显示本身重叠的屏幕的开头。我做错了什么?

command-line bash ps1

16
推荐指数
1
解决办法
5976
查看次数

终端提示中“@”后面的名称是什么意思?

我注意到当在终端中时,提示通常采用格式,username@users:或者我什至看到username@(none):. 我知道第一部分是登录人的用户名,但@符号后面的部分是什么?

command-line ps1

13
推荐指数
3
解决办法
8537
查看次数

Bash PS1 自定义提示中的长行重叠

我已经配置了一个花哨的两行PS1bash 提示符,其中包含服务器名称、时间、用户名和其他有用的变量。

PS1="\n\[\033[1;34m\]\342\226\210\342\226\210 \u @ $SERVER_NAME""$BBlue"" \w""$Color_Off  \n\[\033[0;36m\]\342\226\210\342\226\210 \d \t $ \[\033[0;39m\]"
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

完整的 Github 源在这里

问题是长线通常会缠绕在自身周围,这意味着新线会与前线重叠。

问题是不一致的:有些行被正确包裹,有些则没有。

知道如何解决这个问题吗?

bash prompt ps1

13
推荐指数
2
解决办法
1万
查看次数

如何从命令行提示符中删除计算机名称?

有什么方法可以从命令行提示符中删除我的计算机名称?

我希望提示看起来像这样:

??s???:~$
Run Code Online (Sandbox Code Playgroud)

取而代之的是:

??s???@??s???-pc:~$
Run Code Online (Sandbox Code Playgroud)

bash prompt ps1

10
推荐指数
1
解决办法
1万
查看次数

CLI 中的反向搜索:之后弄乱了输出

请参阅下面我的编辑,这并不完全是Shell 提示自定义和 cmd 行为的重复

reverse-search在 CLI 中的功能坏了,我不知道如何修复它......

当我按 ctrl+r 并搜索我之前执行的命令时,找到它然后按向右箭头键使用它,输出已损坏。下面是一个例子:

# I reverse-searched the word "test" then pressed right arrow
yoshiji@x1carbon:~/path/to/git/folder (master) $ch)`test': rake test
#                                              ^^^^^^^^^^ weird output
#                                                     ^ cursor right there
Run Code Online (Sandbox Code Playgroud)

它还将我的光标“移动”到不同的位置。如果我按回车,就会执行正确的命令(rake test在这种情况下),所以这意味着显示的文本与实际执行的不同。

我知道这很可能与我PS1在 my 中的导出有关~/.bashrc,所以这里是这个文件的最后几行:

# Git branch in prompt.
git_branch() {
  branch=$(__git_ps1 2> /dev/null)
  if [ "$branch" = " (master)" ]; then
     echo -e "\033[33m${branch}\033[00m" # yellow
  elif [ "$branch" = "" ]; then
     echo …
Run Code Online (Sandbox Code Playgroud)

command-line bashrc ps1

10
推荐指数
1
解决办法
1413
查看次数

在 bash 的 PS1 中更改用户名中特定字母的颜色

我想更改 PS1 在 bash 中显示的用户名中特定字母的颜色。

例如:如果我\urahul,我希望字母h为蓝色,其余为白色。

我知道,\u是指用户名和添加颜色到整个“实体”是通过添加标签,如完成:[\033[38;5;15m\]

如果可能的话,我能知道如何做同样的事情吗?

command-line bash bashrc ps1

9
推荐指数
1
解决办法
974
查看次数

标签 统计

ps1 ×10

bash ×7

command-line ×7

prompt ×5

bashrc ×4

git ×1