2017-01-01 2 views
0

Ich bin sicher, dass ich die Frage falsch formuliert. Also, lassen Sie mich meine Frage erklären und jemand kann es für mich bearbeiten.Re-Initialisierung von Rbenv über Shell, wenn bereits initialisiert

Ich bin ein Neuling auf Jekyll arbeiten und ich installierte rbenv. Ich bin mir nicht sicher, woher ich den Anweisungen folgte. Ich habe diese unter der Linie in meinem Bash_profile:

if which rbenv > /dev/null; 
    then eval "$(rbenv init -)"; 
fi 
export PATH="$HOME/.rbenv/bin:$PATH" 

Ich habe keine Ahnung, was sie tut oder welche Sprache es ist. Ist es Shell oder Bash oder was? Ich bin neu in der Schale. Ich war ein Windows-Benutzer.

Als ich gegoogelt, sah ich in anderer Seite, dass dies alles was ich brauche:

if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi 

So kann jemand bitte erklären, Zeile für Zeile, was dieser Code tut?

Antwort

1

Dies ist Bash-Code. Da es in der .bash_profile ist, wird es jedes Mal ausgeführt, wenn eine Login-Shell geladen wird.

Hier Code mit Kommentaren kommentieren die erklären, was jede Zeile tut:

if which rbenv > /dev/null;   # Check if command rbenv is present  
    then eval "$(rbenv init -)";  # run the rbenv initialization scripts 
            # and evaluate the output 
fi 
export PATH="$HOME/.rbenv/bin:$PATH" # Update the PATH variable so the ruby commands 
            # are available 

Der zweite Code-Schnipsel in den ersten eine äquivalent ist, aber es wird nicht aktualisiert die PATH Variable.

+0

Irgendeine Idee, was der PATH im zweiten Ausschnitt nicht aktualisiert wurde? Was ist der Nachteil? – qbektrix

+0

@qbektrix: Die Umgebungsvariable PATH enthält die Verzeichnisse, die beim Ausführen eines Befehls durchsucht werden. Anscheinend würde im ersten Beispiel der Speicherort der ausführbaren Ruby-Dateien hinzugefügt. Im zweiten Beispiel passiert das nicht. Je nach Version usw. kann dies erforderlich sein oder nicht. – user000001

Verwandte Themen