问题标签 [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 投票
0 回答
22 浏览

macos - 从历史记录中重写命令会导致命令和 PS1 被删除并且光标意外移动

我怀疑这个问题与我的 PS1 有关,因为我在将其更改为(来自我的 .bashrc)后开始遇到这些问题:

所以现在当我尝试从我的历史记录中编辑一个命令(通过按向上箭头或 ctrl+R)重新运行它时,该行的片段会变得混乱和/或消失。我的部分提示有时也会消失。如何更改此 PS1 以使我的 shell 正常工作?例如。所以我能够编辑/重新运行历史记录中的命令,而不会因为某些神秘的原因而删除部分并移动光标。

作为旁注,谁发明了 PS1 中使用的这种 shell/仿真器语言?一台电脑??

我在 Mac OS X 上使用终端。

0 投票
2 回答
239 浏览

bash - 如何清空$的值?.bashrc 中的变量?

我一直在尝试自定义我的bash提示符,使其看起来像

这是我的.bashrc

此配置工作正常,它在非零时显示错误代码。但是当我只是按下enter终端(调用空命令)时,麻烦就来了——返回值与最后一个非空命令的返回值相同。例如,当我只是按下enter终端时发生这种情况:

如您所见,error code 127即使在空命令之后仍然存在。但我期待这样的事情:

所以,我的问题是,如何清空$?函数内部的值__prompt_command

0 投票
1 回答
995 浏览

bash - bash 提示 shell 在终端和 tty 控制台中显示不同

这是我的 ~/.bashrc 的一部分:

这是我在 gnome-terminal 中的提示 shell(正确显示):

但是当我切换到 tty 控制台时,在我登录后,会显示:

这发生在普通用户身上,但也发生在同一操作系统上同一笔记本上的 root 用户身上。颜色总是正确显示,唯一的问题是提示的显示方式。


软件版本:

  • GNU bash,版本 4.3.11(1)-release (i686-pc-linux-gnu),
  • Ubuntu 侏儒 14.04。

PS1值的一些解释:


PS – 目前在 tty 控制台中,我需要source ~/.bashrc能够使用我的所有设置。(1) tty 控制台自己的.bashrc 在哪里?(2)或者如何设置它来使用~/.bashrc


提示不同行为的解决方案

正如公认的答案所暗示的那样,在 PS1 变量中,有一部分应该省略,因此我只是将函数的最后一行更改为


后脚本(PS)的解决方案

tty 控制台使用~/.bashrc_profile而不是~/.bashrc,因为(正如@chepner 在下面的评论中所说)后者是由 GUI 终端仿真器提供的(因为它通常启动非登录交互式 shell)。tty 控制台是一个交互式外壳。

我的解决方案是将以下内容添加到~/.bash_profile

0 投票
2 回答
351 浏览

linux - 为命令行提示设置 PS1 变量时如何获取光标的坐标?

我正在使用 Mac。我想设置 PS1 变量以在命令行提示符的行尾获取当前时间。像这样: 示例 1 或者这样: 示例 2

但是,不幸的是,我无法通过以下配置得到我想要的:

看来我需要获取光标的当前位置并根据该位置的坐标进行一些计算,但我不知道如何获取它。有人可以帮忙吗?

0 投票
1 回答
1516 浏览

macos - Mac OSX | Bash .bash_profile 不更新 PS1

我有一个名为 .bash_prompt 的小脚本,它source ~/.bash_prompt在 ~/.bash_profile 中被调用。

该脚本将我的 PS1 设置为显示有关当前 git 存储库的一些有用信息。不幸的是,只有在生成新终端时才会执行 git-part,因此只有在更改为 git repo 后手动调用脚本时才会显示分支。

每次执行命令时,如何使我的 bash 提示符更新?

0 投票
1 回答
1591 浏览

linux - 动画 PS1 提示 BASH

我知道以前有人问过这个问题,但我在任何地方都找不到我想要的答案。我需要(想要)是一个看起来像这样的 BASH 提示:

(然后动画重复)这只是为了我的生活,我无法弄清楚,我一直在寻找几天(显然没有太多人不想要动画提示)。我想要它做的是每 1/2 秒通过一帧动画,因此每个完整动画的长度为 1 1/2 秒。

有什么办法可以做到这一点吗?提前感谢,如果我解释的方式有点混乱,我很抱歉。

0 投票
1 回答
1882 浏览

git - __git_ps1 显示错误的分支

我遇到了 __git_ps1 脚本返回错误分支的问题。

首先,我将检查我的分支:

然后我将创建并签出一个新分支,并且 __git_ps1 脚本仍然会显示我在原来的分支上:

我已经能够确定它显示了同一台机器上的另一个存储库已签出的分支,尽管我不知道为什么。如何确保它显示我所在的存储库的信息?

我的 PS1 如下:

PS1 字符串由登录脚本创建。以下是该脚本中的相关行:

0 投票
3 回答
84 浏览

bash - PS1不能有两个“\$”?

我希望我的 bash 提示字符串 1 同时具有日期/时间和最后一个命令的返回码。所以,我以为我可以做到

我认为这会给我一个蓝色日期(比如Thu Jul 2, 01:01:01)一个紫色的返回码,然后只是>>(假设 ansi 转义序列根据终端的大多数托盘产生“正常”颜色)。但是,它不起作用。


但是,两者都有效,当我以第一种方式进行时,只有第一种"\$"被解释,而另一种只有在我的 bashrc 被获取时才会被解释。(因此,最初"\$?"评估为并保持。)00

关于为什么会发生这种情况的任何想法?

注意:我什至尝试过PS1='$(date +"%a %b %e, %T") $? >> '

其他人可以在 Unix bash 中复制这个吗?如果是/如果不是,请发表评论。

0 投票
1 回答
179 浏览

shell - 为什么我的函数不能在 PS1 中执行?

这是我的 bashrc 中的 PS1 设置,我想在我的终端中检查 git 分支和退出状态,每次刷新 PS1 时 get_git_branch 都有效,但 exit_status 没有,乳清 exit_status 没有执行?

0 投票
0 回答
1143 浏览

git - 当尚未推送或拉取提交时,将 git bash_profile PS1 设置为分支名称

我正在使用这个 .bash_profile 文件在命令行中了解我的 git 状态:

当我有未提交的更改时它确实有效,分支的名称为红色,当我提交更改时它变为绿色(见图)。

命令行中的颜色

当尚未推送提交时,我希望有不同的颜色。谢谢