iTerm2: seltsame Fehlermeldung, wenn ich versuche, eine Konfigurationsdatei zu finden

377
Vivien Garcia

iTerm2 3.0.15
OS X 10.11.6

Ich habe vor kurzem versucht, mein Terminal nach einer Neuinstallation zu konfigurieren. Mein Problem ist, dass ich eine seltsame Fehlermeldung bekomme, wenn ich es tue. Ich gehe in mein .bash-Verzeichnis. Ich habe mehrere Konfigurationsdateien, die wie folgt benannt werden: Aliase, bash_profile, Exporte, Extras, Funktionen, inputrc, Pfad und Eingabeaufforderung.

Wenn ich tue:

source bash_profile 

Ich bekomme diese Fehlermeldung:

-bash: book: command not found 

Ich bekomme mit jeder Konfigurationsdatei genau die gleiche Fehlermeldung.

Ich habe 2 Probleme:

  1. Meine bash_profile-Datei wird nicht wie jede andere Konfigurationsdatei, die ich versuche, bezogen

  2. Ich bin mir ziemlich sicher, dass es wichtig ist, mein Terminal zu konfigurieren, aber ich verstehe nicht, was die Fehlermeldung wirklich bedeutet. Ich verstehe, dass es ein Problem mit diesem bookBefehl gibt, aber ich kann keine wertvollen Informationen darüber erhalten.

Dinge, die ich probiert habe:

  • Terminal - Befehle: man book, book --helpoder help booksagte mir der bookBefehl existiert nicht oder hat keine manuelle Eingabe. Nur info bookgab mir ein Ergebnis, aber es sieht aus wie es auf den mehr verwandt ist infoals der Befehl bookBefehl. Und auch keine bookin meinen Konfigurationsdateien.

  • Die Google-Suche "bash: book: command not found" gibt nicht viel zurück, natürlich viele "command not found", aber der einzige Hinweis auf bookeinen Beitrag zum Github-Repo von Bash-it. Die meisten Antworten zu nicht gefundenen Befehlen beziehen sich auf die Umgebungsvariable PATH, aber auch wenn ich meinen Pfad manuell eingebe, so (so hoffe ich, dass dies der richtige Weg ist):

    export PATH=~/.rbenv/shims:/usr/local/Cellar:/usr/local/bin:/usr/local/sbin:/usr/local/bin/flake8:/usr/local/bin/git:/usr/bin:/bin:/usr/sbin:/sbin 

    Wenn ich danach erneut a probiere source bash_profile, erhalte ich dasselbe Ergebnis -bash: book: command not found.

  • Terminal.app hat das gleiche Problem.

meine bash_profile Datei:

#--------------------------------------------------------------------------#  # B A S H _ P R O F I L E  #--------------------------------------------------------------------------#  # Load .bashrc if it exists test -f ~/.bashrc && source ~/.bashrc  # Load the shell dotfiles, and then some: # * ~/.path can be used to extend `$PATH`. # * ~/.extra can be used for other settings you don’t want to commit. for file in ~/.bash/; do [ -r "$file" ] && [ -f "$file" ] && source "$file"; done; unset file;  # Enable iTerm 2 Shell Integration source ~/.iterm2_shell_integration.`basename $SHELL`  # Case-insensitive globbing (used in pathname expansion) shopt -s nocaseglob;  # Append to the Bash history file, rather than overwriting it shopt -s histappend;  # Autocorrect typos in path names when using `cd` shopt -s cdspell;  # Do not autocomplete when accidentally pressing Tab on an empty line. shopt -s no_empty_cmd_completion  # Enable tab completion for `g` by marking it as an alias for `git` if type _git &> /dev/null && [ -f /usr/local/etc/bash_completion.d/git-completion.bash ]; then complete -o default -o nospace -F _git g; fi;  # Add tab completion for many Bash commands #if which brew > /dev/null && [ -f "$(brew --prefix)/share/bash-completion/#bash_completion" ]; then # source "$(brew --prefix)/share/bash-completion/bash_completion"; #elif [ -f /etc/bash_completion ]; then # source /etc/bash_completion; #fi;  # Thanks to @tmoitie, adds more tab completion for bash, # also when hitting tab twice it will show a list. #if [ -f $(brew --prefix)/etc/bash_completion ]; then # . $(brew --prefix)/etc/bash_completion #fi  # R U B Y # Ensure rbenv will be used first # eval "$(rbenv init -)" # test -e "$/.iterm2_shell_integration.bash" && source "$/.iterm2_shell_integration.bash"  
0
Ihre Frage wurde behoben und erneut geöffnet. DavidPostill vor 6 Jahren 0
Eine Ihrer Konfigurationsdateien muss also das Wort "book" enthalten. Sie müssen es finden. Weitere Informationen finden Sie unter [Bash-Referenzhandbuch: Bash-Startdateien] (https://www.gnu.org/software/bash/manual/html_node/Bash-Startup-Files.html). DavidPostill vor 6 Jahren 0
Ich habe [Bash-Referenzhandbuch: Bash-Startdateien] (https://www.gnu.org/software/bash/manual/html_node/Bash-Startup-Files.html) gelesen. Da Bash unter OS X eine interaktive Login-Shell ist, sollte sich die gesamte Konfigurationsdatei in ~ / befinden. Ich kann in keiner Konfigurationsdatei ein Buchwort finden. Vivien Garcia vor 6 Jahren 0

1 Antwort auf die Frage

0
Vivien Garcia

Ich habe schließlich Bash 4.4.19 über Homebrew installiert und die iTerm-Einstellungen so bearbeitet, dass sie verwendet werden können. Ich habe meine Konfigurationsdateien umbenannt, indem ein Punkt vor dem Namen hinzugefügt wurde, und zu meiner Erleichterung funktionierte es, dh als ich meine Condiguration-Dateien manuell eingezogen hatte, spiegelte iTerm die Änderungen wider.

Ich weiß nicht, ob ich die gleichen Ergebnisse erzielt hätte, wenn ich meine Dateien direkt umbenannt hätte, oder ob die Änderung, die durch die neue Version von Bash ausgelöst wurde, der Grund ist, warum sie endlich funktioniert hat. Ich kenne bash nicht sehr gut, aber ich nehme an, dass es eine Standardkonfiguration gibt, die irgendwie durcheinander war. Die Neuinstallation einer neuen Version mit einer eigenen Standardkonfiguration hat gerade genug getan, um zu funktionieren.

Nach einiger Verwendung wurde mir klar, dass iTerm die .bash_profile -Datei beim Start nicht automatisch lädt. Zum Glück habe ich eine Lösung gefunden: In den Voreinstellungen der App, in der Sie angeben können, wo die ausführbare Datei zu finden ist, können Sie einen Befehl hinzufügen, der beim Starten ausgeführt wird. source ~/.bash_profilewerde die Arbeit machen, bis ich eine bessere Lösung gefunden habe.