Chciałbym uzyskać źródło .bash_profile(lub może jakiś inny plik) za każdym razem, gdy przełączam się na administratora. ( .bash_profilejest to login rc w Mac OS X, .bashrcto skrypt bez logowania i .profilejest to rc logowania działający dla dowolnej powłoki).
Po prostu .bash_profilesprawia , że korzystanie z terminala jest dla mnie wygodniejsze, a czasami, kiedy muszę iść super, mam wrażenie, że próbuję grać na gitarze bez kciuków. Co więcej, $PS1i $PROMPT_COMMANDzostaną wyeksportowane do superużytkownika, ale funkcje zdefiniowane w moim .bash_profilei użyte w moim $PROMPT_COMMANDnie zostaną wyeksportowane do tego środowiska leksykalnego.
W szczególności źródłowy git-prompt.shskrypt w moim źródle .bash_profilei używam w nim wyeksportowanego __git_ps1polecenia $PROMPT_COMMAND. Dlatego każdy wiersz zachęty w powłoce administratora jest poprzedzony ostrzeżeniem:
bash: __git_ps1: command not found.
Teraz technicznie mogę zmodyfikować systemowy rc /etc/profilew celu uzyskania efektu. Mógłbym spojrzeć $HOME, a jeśli to mój dom, to źródło $HOME/.bash_profile. Nie jest to jednak przenośne. Musiałbym zmodyfikować /etc/profilena każdym hoście, na którym prawdopodobnie będę pracować. Chcę wyeksportować to zachowanie na wszystkich hostach, na których pracuję.
Czy ktoś może pomyśleć o rozwiązaniu, które jest całkowicie zawarte w moim własnym profilu bash?
Nie są wymagane żadne ostrzeżenia o zostaniu superużytkownikiem. Wiem, że tam jest sudoi że jest źle, źle, źle i jestem moralnie i intelektualnie gorszy za robienie tego. :)
Mac OS X sunie ma -copcji, która byłaby całkiem dobrym rozwiązaniem.