bash - 使用 Bash 使用 su 用户名时找不到 __git_ps1
问题描述
我当前的用户 firstuser 有一个默认的 shell/bin/sh
我.profile
的是一行:
[ -f $HOME/.bash_profile ] && . $HOME/.bash_profile
我.bash_profile
的是一行:
[ -f $HOME/.bashrc ] && . $HOME/.bashrc
我.bashrc
的代码如下:
[ -f /usr/local/etc/bash_completion ] && . /usr/local/etc/bash_completion
export PS1='$(__git_ps1) \$ '
这是问题:
$ su seconduser
Password:
bash: __git_ps1: command not found
$
注意:
seconduser 的外壳为/bin/bash
我想要的是把我从 firstuser 的所有定制带到 seconduser 的 shell 中。
解决方案
您的代码将提示变量设置PS1
为$(__git_ps1) \$
字面意思。并且您的 shell 在显示提示时正在解释它。
$(__git_ps1)
尝试__git_ps1
作为命令运行并获取其输出 - 此命令替换。你确定你想要那样吗?在这种情况下,请确保它是一个有效的命令并且它在 PATH 中。
推荐阅读
- xbox - 如何向 Xbox Live Restful API 发送请求?
- arrays - 如何使用 ng-repeat 访问动态数组并获取键值对
- javascript - 为长度创建一个 .row.cells 行
- apache-pig - 通过对连接结果进行说明,我得到了完美的结果,但转储不能正常工作
- tensorflow - 使用 CNN 进行图像回归
- javascript - React:如何在“页面”之间传递数据并处理页面重新加载?
- python - python电报机器人问题:访问json数据
- excel - 使用 IF AND 和多个条件
- python-3.x - 使用 tensorflow ValueError 拟合线性二元分类器时出错:没有为任何变量提供梯度,请检查您的图表
- mysql - 选择添加了升序值的临时列