__git_ps1 не найден, когда su имя пользователя с Bash - PullRequest
0 голосов
/ 01 октября 2018

Мой текущий пользователь, firstuser имеет оболочку по умолчанию /bin/sh

My .profile - одна строка:

[ -f $HOME/.bash_profile ] && . $HOME/.bash_profile

My .bash_profile - одна строка:

[ -f $HOME/.bashrc ] && . $HOME/.bashrc

My .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
$ 

Примечание:
secondduser имеет оболочку /bin/bash

Я хочу, чтобы все мои настройки из firstuser были перенесены в оболочку secondduser.

1 Ответ

0 голосов
/ 01 октября 2018

Ваш код буквально устанавливает переменную подсказки PS1 в $(__git_ps1) \$.И ваша оболочка интерпретирует его при отображении приглашения.

$(__git_ps1) пытается запустить __git_ps1 в качестве команды и получить ее вывод - это подстановка команды .Вы уверены, что хотели именно так?В этом случае убедитесь, что это действительная команда и она находится в PATH.

...