问题标签 [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.
git - linux PS1 - 仅在 git repo 中显示分支名称
在网上搜索后,我发现可以用下面的 PS1 显示 git 分支名称
虽然这工作正常,但它会在 PS1 提示符中显示分支名称。但它显示在我导航的任何地方,甚至在 git-checked-out-repo 之外。
只有当我在 git 跟踪的文件夹/repo 下时,我才想显示分支名称。有什么办法可以做到这一点?在这方面搜索 SO 和 net 并没有弹出有用的链接。
git - 如何在 PS1 中显示 git 分支和其他输出?
如果我在 git repo linux PS1 中,我只能在 PS1 中显示分支名称 - 仅在 git repo中显示分支名称,但我无法将它与我早期的 PS1 集成,即
这显示,日期时间 + 用户名
我试过了
但是,我得到错误
有什么方法可以获取 git 分支名称以及我的 PS1 用来输出的早期详细信息?
编辑:我也试过
但是,这总是给出空引号,即使在 git repo 中也是如此。
这个问题与那个不同。我要显示时间和日期 + git 分支(如果它在回购中)。
linux - 为什么我的 Mac 终端上超级简单的功能不显示 256 色?
最近开始运行 Ubuntu 并花了一周左右时间自定义我的 .bashrc (Ubuntu) 文件和 .bash_profile (Mac) 以获取信息丰富且色彩丰富的 PS1 和终端输出的长期 Mac(读取 GUI)用户。
我有这个小小的功能:
显示 256 种颜色和代码,所以我可以选择我想要的一种...
它在 Ubuntu(14.0.4 LTS,Gnome 终端)中完美运行,而在 Mac(iTerm 和 Terminal.app 的 OS 10.7.5)上根本无法运行。
Ubuntu 上 .bashrc 文件的 PROMPT_COMMAND 函数与 Mac 的 .bash_profile 中的 PROMPT_COMMAND 函数完全相同,逐行复制和粘贴。
两个 PS1 提示的颜色相同(在 Mac 端只有一些奇怪的间距),并且 ls -GFa(或任何变体)以 LS_COLORS 和 .dircolors 设置的颜色打印。所以颜色适用于一些输出,但不是全部。在 Mac 上,我得到 256 行与我的 PS1 中最后一个转义颜色(绿色、白色等)设置的终端输入颜色相同的行。
哇?!?
是的,我已经尝试了陷阱的 2 种变体 - 调试(黑客?):
这可以重置 Ubuntu 方面的输出。两者都不适用于 Mac。
我错过了什么?
android - Android终端的一个问题
为什么终端 IDE(Android 终端模拟器)不在我的根 Android 设备上执行一些 .sh 文件?(错误是:“权限被拒绝”)我在终端中输入了以下代码:
并且“dprompt.sh”包含以下代码:
bash - 如何在 bash shell 中输出之前设置一个空行?
我有这个:
但我需要这个:
PS1有什么补充?
bash - PS1 bash 命令替换在 Windows 10 上不起作用
这是我设置 bash PS1 的脚本
直到昨天我决定将笔记本电脑更新到 Windows 10 时,它一直运行良好。
现在它抛出这个错误:
关于是什么导致此错误的任何想法?
macos - 在 OS X 中的 bashrc 函数之后防止“进程完成”
在我的 .bashrc 文件中,我有以下几行:
但是,在获取我的 .bashrc 之后,每次我尝试运行命令时,都会收到一条进程完成消息,并且我被锁定在 shell 之外。
如何在不收到流程完成消息的情况下轻松实现此功能?
bash - 在 debian 8 Jessie Xen 虚拟机上使用 unicode 字符引发打字重叠的 Bash $PS1
我有一个自定义 bash 配置,我安装在许多不同的机器上,其中包括一个自定义 $PS1,它由脚本生成,结果如下:
这有点难看,但似乎问题仅由 ✓ 和 ✗ 字符引起;事实上,用 o 和 n 替换它们可以解决问题,并使
仍然受苦。
问题是当我输入一个足够长的命令以达到终端的限制时,而不是继续下一行,它会与提示符和命令的开头重叠。有趣的是,如果它只在第一次重叠,那么它通常会在下一行继续。
发生这种情况的机器是一个全新的 Debian 8 Jessie 虚拟机,它是在运行 Xen4.4 的 Debian 8 Hypervisor 上制作的,带有 xl 工具栈。我制作了其他几个相同的虚拟机并得到了相同的结果。但是,在我尝试过的任何物理 Debian 机器(包括我的 Dom0)上都没有这个问题。我还在 Ubuntu15.04 VM 上进行了尝试,它也没有遇到问题。
我还注意到这个问题发生在 ssh 连接和串行控制台上。
有人知道发生了什么吗?
git - 从 PS1 提示符运行 git update-index --refresh 安全吗?
我一直在研究检查存储库中更改以更新 PS1 提示的最快方法。由于不值得详述的原因,无法访问 __git_ps1() 宏,而且无论如何其他帖子都建议了各种命令,包括 __git_ps1() 中使用的命令。
原因:我正在通过 VPN 和 ssh 访问远程服务器上的存储库,远程存储库通过我与我们内部 git 服务器的连接返回。我猜(但真的不确定这是否属实)这可能是在新的一天建立新连接的原因,cd 到这个远程服务器上的 repo 可能会导致git ls-files -m
需要 3 或 4 秒才能完成,并且在文件缓存有帮助后仍需要长达 1 秒的时间。
为了改善这一点,我发现git diff-index --quiet HEAD
几乎是即时的,但第二天它开始返回“1”,即使实际上没有任何变化(非常缓慢的运行没有输出git status
)。我发现这git update-index --refresh -q
似乎可以解决问题(很快),并且如果实际上没有任何更改,也会返回“0”。
从我读过的内容来看,我认为从 PS1 提示符运行应该是安全的,但我知道这是一个“较低级别”的 git 命令,我可能无法理解所有含义。因此,需要明确的是,我目前有以下内容来检查更改,这似乎总是很快,但是一天后开始在干净的 repos 中输出“*”。
任何“git 大师”都可以看到将第一个测试更改为的问题git update-index --refresh -q
吗?