问题标签 [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.
linux - Bash PS1 为 root 显示 $ 而不是 #
登录root时,回显时的默认提示为\s-\v\$
,显示为bash-4.2#
。我正在尝试使用 bash 提示符,以便显示工作目录。
export PS1="\w \$"
.
提示正确显示,但是,即使 my为 0,符号\$
也不会转换为,这违背了省略用户符号的目的。有没有我必须添加的额外内容,或者如果我导出它,该符号是否不起作用?#
$UID
\u
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)
。
有什么想法可能会出错吗?
谢谢,
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 中执行时,它也可以按预期工作。
bash - 如果远程运行,只在 bash 提示符中列出主机?
我正在尝试根据自己的意愿修改我的 Bash 提示;这就是现在的$PS1
样子(为了清楚起见,颜色被删掉了):
结果是:
如果我在本地运行当前的 Bash 会话,而不是访问远程服务器,我可以调整提示以隐藏该@tablet-2710p-ubuntu
位(由 表示)吗?@\h
tablet-2710p-ubuntu
为了可移植性,我也不想对其进行硬编码(例如,只是替换任何出现的),以防以后更改主机名。
bash - 这个 PS1 变量如何用单引号定义?
基于 Debian 的系统的默认.bashrc
文件设置$PS1
如下:
让我困惑的是那${debian_chroot}
部分。根据StackOverflow:bash 中单引号和双引号之间的区别,如果在定义字符串时使用单引号,$
则应将诸如字符之类的字符视为文字,而不是评估变量。
这是否意味着 Bash实际上应该打印出来${debian_chroot:...
,而不是那个变量的值?还是这里涉及到更多的语法规则?
bash - 如何使用 bashrc 为路径级别着色?
在我的~/.bashrc
我有
它将当前工作目录的路径颜色更改为绿色。是否可以使用 bashrc 为每个路径级别着色不同的颜色?例如,如果我导航到
我想要/usr
红色,/share
绿色,/color
蓝色等。
unix - 如何从 Unix shell 提示符中省略 user@location?
我正在使用 Unix 并登录我的帐户。
然后我的命令行如下所示:
我怎样才能隐藏这些信息,以便我可以$
像光标一样干净。
基本上:
[username@somestupidfolder]$
至$
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?
bash - 在 bash PS1 中设置变量
我正在尝试自定义我的 bash 提示符,但遇到了一些条件问题。
我现在的PS1
样子是这样的。
前 6 行只是设置常规
PS1
内容。第 7 行然后调用一个函数来显示当前的 git 分支和状态(如果适用)。
然后第 8 行测试前一个命令的返回码并更改最后的颜色
$
。第 9 行将提示设置回白色,为用户的命令做好准备。
然而,第 8 行响应的是第 7 行函数的返回代码,而不是我最初预期的前一个命令。
我已经尝试在第 7 行之前移动第 8 行,并且一切正常。但我不希望第 8 行在第 7 行之前,$
必须在最后。
我之前尝试过将变量设置为的值,$?
然后像这样测试该变量
但这不起作用。
有人知道如何解决我的问题吗?
linux - bash:显示带有在提示中解析的符号链接的绝对路径
即使我cd
进入符号链接,是否可以让我的 shell 显示完整的当前工作目录?我目前的PS1
阅读
但是,当我 cd 进入链接目录时,它会显示(例如)[ ~/LINKEDDIR ]
而不是对我更有用的东西,例如[ /var/etc/bin/the/actual/path ]
.
有没有办法改变它?