我有一个脚本(不是我自己写的),它在我的命令提示符中显示git branch/svn分支。有人知道为什么这在mac上不起作用吗?它在linux中工作得很好。
来自
# Display ps1 with colorful pwd and git status
# Acording to Jimmyxu .bashrc
# Modified by Ranmocy
# --
if type -P tput &>/dev/null && tput setaf 1 &>/dev/null; then
color_prompt=yes
else
我试图在C:/Program Files/Git/etc/profile.d/git-prompt.sh目录中编辑我的git终端,并且我想检查我当前的工作目录是否是一个Git存储库。
下面是我的当前代码:
if test -f /etc/profile.d/git-sdk.sh
then
TITLEPREFIX=SDK-${MSYSTEM#MINGW}
else
TITLEPREFIX=$MSYSTEM
fi
if test -f ~/.config/git/git-prompt.sh
then
. ~/.config/git/git-prompt.sh
else
我正在试用Windows终端。我使用bash,并希望Windows终端选项卡标题保持为cwd (最初由bash设置),而不是更改,因为当使用多个选项卡时,它们变得难以区分。如果我直接在bash中运行npm run start,标题(在标题栏中)仍然是cwd,但如果我尝试通过Windows终端使用它,选项卡标题将变为npm,这是我不想要的。
我的.bashrc
if test -f /etc/profile.d/git-sdk.sh
then
TITLEPREFIX=SDK-${MSYSTEM#MINGW}
else
TITLEPREFIX=$MSYSTEM
fi
if tes
我是一个Windows用户,以Git Bash shell作为我的日常驱动程序。我很好奇每次更改目录时,函数如何更新提示符。这确实是我看到的更新bash提示符的唯一例子。如果我打开了RDP会话,我希望在自己的函数中利用这种行为在提示符上添加一个显示。
tldr:关于__git_ps1函数如何动态评估bash提示符?
下面是我的简单函数,查看RDP客户端是否正在运行
function __rdp_ps1() {
local MATCH=
if tasklist | grep --quiet mstsc; then
MATCH="\e[41mRDP\e[0m"
我的PS1设置有问题,我已经设置它来显示git存储库分支和状态。
有时我对终端机的覆盖线有问题。我也不知道原因。如果我设置了PS1="$ ",它就能正常工作。实际上,下面的设置在我与macOS Catalina/Terminal.app/bash的另一个macbook上运行得很好。
#!/bin/bash -e
function init {
case $OSTYPE in
linux*)
MAGENTA='\e[0;31m'
GREEN='\e[0;32m'
我有一个定制的.profile脚本:
PS1='\[\033]0;WSL2 Bash\W\007\]' # set window title
PS1="$PS1"'\n' # new line
PS1="$PS1"'\[\033[36m\]' # change to green
PS1="$PS1"'bash@bexgboost ' # user@host
PS1="$PS1"'\[\033[31m\
我一直试图自定义bash提示符。
下面是我的配置
#!bin/bash
Nocolor="\[\033[0m\]" # Text Reset
# Bold High Intensty
BIBlack="\[\033[1;90m\]" # Black
BIRed="\[\033[1;91m\]" # Red
BIGreen="\[\033[1;92m\]" # Green
BIYellow="\[\033[1;93m\]" # Yellow
BIBlue=
calculate_prompt1()
{
host="my-linux"
git_branch="a very very very very very very very very very very very very very very long prompt"
prompt="@$host \\w : \[$(tput bold)$(tput setab 1)$(tput setaf 7)\]${git_branch}\[$(tput sgr0)\]\$ "
export PS1="$prompt&
当我用workon激活Python时,我的提示符不会更改以标识环境。
我已经确认我的activate脚本包含
if [ -z "${VIRTUAL_ENV_DISABLE_PROMPT-}" ] ; then
_OLD_VIRTUAL_PS1="$PS1"
if [ "x" != x ] ; then
PS1="$PS1"
else
PS1="(`basename \"$VIRTUAL_ENV\"`) $PS1"
fi
expo
这主要是可行的,我能够根据git状态为bash提示符添加颜色。(来源/主人)将是绿色的,如果一切都承诺,如果没有,那么我知道我没有承诺。然而,我试图添加额外的颜色,如黄色的‘未跟踪的变化’和红色,如果我没有做任何事情。
以下是我在.bashrc中从不同的帖子中拼凑而成的东西
Bash版本: 4.3.48(1)-release
操作系统: Linux 18.2
## trim to two dir depth
PROMPT_DIRTRIM=2
## green user@hostname, then blue dirs, then colours for git branch
COLOURG
我使用的是Ubuntu12.10,并且我安装了git-prompt-aware:
每当我在一个包含git存储库的目录中时,我都需要执行源代码~/.bash_profile来显示分支。如果我不这么做,它就不会出现。但是,当我关闭终端并转到相同的目录时,我需要再次执行~/.bash_profile,您认为为什么会发生这种情况?
我的问题是,在.bashrc中,我已经将PS1定义为:
case "$TERM" in
xterm-color) color_prompt=yes;;
esac
# uncomment for a colored prompt, if the te