问题标签 [ps1]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
6997 浏览

linux - Bash PS1 为 root 显示 $ 而不是 #

登录root时,回显时的默认提示为\s-\v\$,显示为bash-4.2#。我正在尝试使用 bash 提示符,以便显示工作目录。 export PS1="\w \$".

提示正确显示,但是,即使 my为 0,符号\$也不会转换为,这违背了省略用户符号的目的。有没有我必须添加的额外内容,或者如果我导出它,该符号是否不起作用?#$UID\u

0 投票
0 回答
214 浏览

git - git ps1 在 GNU-Screen 中非常慢

我的虚拟机(Vagrant / ubuntu-13.10)上有我的自定义 PS1,当我通过 ssh 连接到机器时它可以完美运行。

但是当我运行 GNU-Screen 来拥有多个屏幕时,我会失去它,这是正常的(因为 ~/.bash_profile 在屏幕启动时没有被调用)。

但有趣的是没有$(__git_ps1)可用的。当我执行时:

这需要一段时间(30-40 秒),即使我用 ctrl+c 强制退出它,我也会得到以下信息:

但它最终会(master)在空白屏幕上打印出来。

所以我虽然这可能是一个问题git-prompt,但即使我运行:

成功运行,它仍然是相同的情况,如果我运行echo $(__git_ps1)它需要 30 秒才能打印(master)

有什么想法可能会出错吗?

谢谢,

0 投票
1 回答
83 浏览

windows - 使 bash 提示符变小

目前我的 Windows Git Bash shell 提示符如下所示: UserName@ComputerName Path (Branch)

当我echo $PS1,我得到:
\[\033]0;$MSYSTEM:\w\007\]\n\[\033[32m\]\u@\h \[\033[33m\]\w$(__git_ps1)\[\033[0m\]\n$

在我的.bashrc文件中,我尝试像这样更新它:

PS1="\[\033[32m\]\w$(__git_ps1)\[\033[0m\]\n$"

发生的事情是我失去了UserName@ComputerName原本的意图。不过不知为何,$(__git_ps1)也消失了。

但是,当我这样做时:PS1=${PS1:46}它按预期工作。

我的计划是添加一些额外的更改(用任何内容替换固定路径),这样子字符串方法就不是最优的了。

这是怎么回事?

更新:
当我PS1="\[\033[33m\]\w$(__git_ps1)\[\033[0m\]\n$"直接在 shell 中执行时,它也可以按预期工作。

0 投票
2 回答
1956 浏览

bash - 如果远程运行,只在 bash 提示符中列出主机?

我正在尝试根据自己的意愿修改我的 Bash 提示;这就是现在的$PS1样子(为了清楚起见,颜色被删掉了):

结果是:

如果我在本地运行当前的 Bash 会话,而不是访问远程服务器,我可以调整提示以隐藏该@tablet-2710p-ubuntu位(由 表示)吗?@\h

tablet-2710p-ubuntu为了可移植性,我也不想对其进行硬编码(例如,只是替换任何出现的),以防以后更改主机名。

0 投票
2 回答
538 浏览

bash - 这个 PS1 变量如何用单引号定义?

基于 Debian 的系统的默认.bashrc文件设置$PS1如下:

让我困惑的是那${debian_chroot}部分。根据StackOverflow:bash 中单引号和双引号之间的区别,如果在定义字符串时使用单引号,$则应将诸如字符之类的字符视为文字,而不是评估变量。

这是否意味着 Bash实际上应该打印出来${debian_chroot:...,而不是那个变量的值?还是这里涉及到更多的语法规则?

0 投票
1 回答
548 浏览

bash - 如何使用 bashrc 为路径级别着色?

在我的~/.bashrc我有

它将当前工作目录的路径颜色更改为绿色。是否可以使用 bashrc 为每个路径级别着色不同的颜色?例如,如果我导航到

我想要/usr红色,/share绿色,/color蓝色等。

0 投票
2 回答
52 浏览

unix - 如何从 Unix shell 提示符中省略 user@location?

我正在使用 Unix 并登录我的帐户。

然后我的命令行如下所示:

我怎样才能隐藏这些信息,以便我可以$像光标一样干净。

基本上:

[username@somestupidfolder]$$

0 投票
1 回答
2277 浏览

bash - How to set a variable from the bash $PS1

The bash PS1 variable seemingly has access to all the shell's variables.

But, setting a variable there does not work.

Why, and how to make this work?

0 投票
3 回答
2850 浏览

bash - 在 bash PS1 中设置变量

我正在尝试自定义我的 bash 提示符,但遇到了一些条件问题。

我现在的PS1样子是这样的。

  • 前 6 行只是设置常规PS1内容。

  • 第 7 行然后调用一个函数来显示当前的 git 分支和状态(如果适用)。

  • 然后第 8 行测试前一个命令的返回码并更改最后的颜色$

  • 第 9 行将提示设置回白色,为用户的命令做好准备。

然而,第 8 行响应的是第 7 行函数的返回代码,而不是我最初预期的前一个命令。

我已经尝试在第 7 行之前移动第 8 行,并且一切正常。但我不希望第 8 行在第 7 行之前,$必须在最后。

我之前尝试过将变量设置为的值,$?然后像这样测试该变量

但这不起作用。

有人知道如何解决我的问题吗?

0 投票
1 回答
634 浏览

linux - bash:显示带有在提示中解析的符号链接的绝对路径

即使我cd进入符号链接,是否可以让我的 shell 显示完整的当前工作目录?我目前的PS1阅读

但是,当我 cd 进入链接目录时,它会显示(例如)[ ~/LINKEDDIR ]而不是对我更有用的东西,例如[ /var/etc/bin/the/actual/path ].

有没有办法改变它?