我的. bashrc:
# show a short way
shortwd() {
num_dirs=3
pwd_symbol="..."
newPWD="${PWD/#$HOME/~}"
if [ $(echo -n $newPWD | awk -F '/' '{print NF}') -gt $num_dirs ]; then
newPWD=$(echo -n $newPWD | awk -F '/' '{print $1 "/.../" $(NF-1) "/" $(NF)}')
fi
echo -n $newPWD
}
# show git branch
git_branch() {
git symbolic-ref HEAD --short
}
export PS1='\n$CONDA_PROMPT_MODIFIER\e[38;5;211m$(shortwd)\e[38;5;48m [$(git_branch)]\e[0m$'
现在,bash 看起来像这样:
(基础)/.../MyCode/python [master]$
但是在我运行conda后,激活env
来切换我的conda env。它得到一个BUG,无论我运行什么命令,总是在命令末尾显示当前的conda env名称output.like:
(base) /.../MyCode/python [master]
$ls code_study keras mxnet my_tools其他 pyqt5 pytorch qt_diankeyuan测试窗口代码
(base)
我建议让Conda处理自己修改PS1
的部分,并为其他部分使用您漂亮的自定义bash函数。为此,我会将PS1
更改为
export PS1='\e[38;5;211m$(shortwd)\e[38;5;48m [$(git_branch)]\e[0m$'
并将它移到< code >的Conda管理部分之前。bashrc。接下来,将Conda配置变量< code>env_prompt设置为您想要的值:
conda config --set env_prompt "\n({default_env}) "
您可以在描述< code > conda config-describe env _ prompt 中了解有关可模板化变量的更多信息。
这与你定义的行为背道而驰的唯一方法是,当没有envs处于活动状态时,你不会得到额外的换行符,但希望你能忍受这一点。另一个缺点是 Conda 只允许预处理。
顺便说一句,您的git_branch
函数将在不在存储库中时发出到 stderr
,因此您可能希望转移该函数,以便它不会命中您的会话。例如
# show git branch
git_branch() {
git symbolic-ref HEAD --short 2> /dev/null
}
我正在努力学习git。 我的git存储库在Visual Studio Team Services上。我在Visual Studio中编码。我使用git bash。 我想通过命令行使用git(我想了解正在发生的事情)。 首先,我从Web浏览器在TFS上创建了一个新的git项目。我确实设置了ssh,这样我就可以从git bash执行命令。它起作用了。 > 当您在TFS中创建git项目时,它是在服务器上
我已经安装了 console2 和 git bash,我的目标是让 git bash 使用选项卡,我已经将控制台设置的目标路径更改为。当我打开控制台时,它不再为我提供选项卡选项。
通过运行在Git Bash(mingw64)中激活我的conda环境时,我注意到一些奇怪的变化。 例如: > < Li > < p > < code > ls-l 命令相当于< code>ls 我无法查看每个文件的权限或所需的任何其他信息 在激活我的conda环境后,在基本环境中工作的Bash脚本不再工作 像使用 运行循环这样简单的事情是行不通的 将日期时间转换为整数日期的命令不再有效 激活一个
我在D:中安装了git,但是我的VSCODE在C:中,当我试图将Git bash设置为缺省值时,它没有显示出来。我该怎么办?
我正在尝试使用杰克逊在json和java对象之间轻松转换。所以我在我的项目中导入了三个罐子 杰克逊注释,杰克逊数据绑定和杰克逊核心。但是,当我在类中编写对象映射器时,它仍然无法识别它。 人员 ob = 新的对象映射器().readValue(内容,人员.class);在这里,对象映射器始终带有红色下划线。我试图手动导入一些东西,仍然什么都没有。
我遇到了与Python相同的问题,无法在git bash的命令行中工作,在Git Bash中,当我键入时,它就挂起来了。 但是,键入非常有效。 什么是winpty?为什么上面的命令有用?