Wie kann ich verhindern, dass MacVim .profile inhärent ist, als wäre es Bash selbst?

289
pepper_chico

Ich habe diese Wache in meinem .profile:

if [ -n "$BASH_VERSION" ]; then if [ -f "$HOME/.bashrc" ]; then . "$HOME/.bashrc" fi  if [ -f "$HOME/.bash_aliases" ]; then . "$HOME/.bash_aliases" fi fi 

Ich habe jedoch bestätigt, dass die Überprüfung für MacVim bestanden wird, das vom Finder aus gestartet wurde, nicht nur vom bash-Terminal, und .bashrcenthält ein Terminal-bezogenes Skript, das MacVim anscheinend nicht wie erwartet funktioniert, wenn es mit einem Doppelklick gestartet wird. Daher muss diese Überprüfung für non fehlschlagen -terminale Hinrichtungen. Ich bin nicht sicher, ob dies nur MacVim oder nur eine Anwendung betrifft. Ich erwartete $BASH_VERSIONleer für alles, was von Finder gestartet wurde.

Irgendwelche Tipps?

0
Ich würde debuggen ... Ich habe in Ihrem .profile einen temporären Code, der alle env-Variablen in eine Datei speichert. Führen Sie es dann einmal als Shell aus. Führen Sie dann MacVim aus und prüfen Sie, ob MacVim etwas festlegt, das Sie erkennen können, und den Schutzcode in der Umgebung verwenden. Rich Homolka vor 9 Jahren 0
@RichHomolka gesunder Pfad danke. pepper_chico vor 9 Jahren 0
@RichHomolka Ich fing an, in OS X jetzt $ TERM_PROGRAM anstelle von $ BASH_VERSION zu verwenden. pepper_chico vor 9 Jahren 0

0 Antworten auf die Frage