Ich habe einen Systempfad zu system path ( $PATH
) hinzugefügt, indem ich ausgeführt habe:
export PATH=$PATH:/home/avinash/Desktop/raj
Jetzt sieht mein Weg so aus,
$ echo $ PATH / usr / lib / lightdm / lightdm: / usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: / bin: / usr / games: / usr / local / games : / home / avinash / Desktop / raj
Ich möchte /home/avinash/Desktop/raj
mithilfe eines Befehls aus der Systempfadvariablen entfernen ( wie es der Exportbefehl beim Hinzufügen eines Pfads tut ).
command-line
Avinash Raj
quelle
quelle
Antworten:
Durch das Ausführen
export PATH=$PATH:/...
wird IhrPATH
System nicht systemweit festgelegt. Es ist nur eine Shell-Variable. Starten Sie eine neue Shell und BOOM , es ist weg. Wenn Sie dies zu~/.bashrc
(oder einer anderen Umgebungs-Bootstrap-Datei) hinzugefügt haben, müssen Sie diese Änderung natürlich rückgängig machen, aber es klingt hier nicht nach Ihrem Problem.Wenn Sie keine neue Shell starten möchten, können Sie sie festlegen, indem Sie sie manuell entfernen.
quelle
In Ihrer aktuellen Shell (Ihrer aktuellen Sitzung von gnome-terminal) können Sie dies tun mit:
Allgemein:
löscht die kürzeste Übereinstimmung von
$substring
von hinten von$string
.Weitere Informationen finden Sie unter String-Manipulation .
quelle
Wenn Sie es als Befehl verwenden möchten, finden Sie hier ein kleines Skript:
Nennen Sie es
unexport
und fügen Sie es Ihrem PFAD hinzu.Verwendungszweck:
unexport /usr/local/bin /bin /sbin
Dieses Skript ändert Ihre tatsächlich nicht
PATH
. Wenn Sie möchten, dass das Skript dies tut, sollten Sie die letzte Zeile ändern. Ersatzecho "export PATH=$PATH"
fürexport PATH=$PATH
quelle
Wenn Sie die
export
Anweisung in eine beliebige Shell-Initiationsdatei einfügen~/.bashrc
, können Sie die folgenden Befehle im Terminal verwenden:Der Ordner wird aus dem Pfad entfernt.
Wenn Sie den Pfad von einem Terminal exportiert haben
Der Ordner befindet sich im Pfad, solange Sie sich in dieser Shell befinden. Um den Pfad zu überschreiben, müssen Sie einen neuen Pfad zuweisen. Wie oli bereits in der anderen Antwort erwähnt.
Mit dem folgenden Befehl können Sie den alten Pfad festlegen
Oder einfach
Dies ist Teilstring-Ersatz,
quelle
Ein schmutziger Hack ist
tr
grep -v
und , was Sie nicht möchten (Pfadübereinstimmung mit "raj")paste
.Dies wird wahrscheinlich nicht gut funktionieren, wenn ein Verzeichnis in PATH
:
oder eine neue Zeile vorhanden istwenn Sie dies selbst zu tun viel finden, denkt so dass es eine Funktion und Speicher in der Shell - Profil (zB
.bashrc
,.zshrc
)quelle
export PATH=$PATH:/home/avinash/Desktop/raj
(Hier haben Sie die Datei zur Pfadvariablen hinzugefügt.)echo $PATH
Wenn Sie diesen Befehl ausführen, ist dies die Ausgabe:
Wie entfernst du es vom Pfad? einfach ausführen
Es ist ein Konzept des String-Austauschs.
quelle
Der integrierte Shell-Befehl
export
bestimmt nicht, ob eine Variable festgelegt ist oder nicht, sondern bestimmt, ob die Variable und ihr Wert auch in Unterprozessen festgelegt werden.Das Ändern einer exportierten oder nicht exportierten Variablen wirkt sich nicht auf den übergeordneten Prozess oder höher aus. Das Ändern in einem Skript hat daher keine Auswirkungen, es sei denn, dieses Skript wird mit ausgeführt
source
.Eine Shell-Funktion:
schneidet die letzte Komponente der PATH-Variablen ab. Sein
export
Status bleibt unberührt.quelle
deklarieren Sie -x PATH = "/ required / path / you_want", wenn ich mich nicht irre, dass selbst aktualisiert wird, was Sie wollen, und es liegt ganz in Ihrem Auftrag, was es sein wird. [Stellen Sie sicher, dass Sie als root UND als der gewünschte Benutzer ausgeführt werden, für den sich diese Änderung auswirken soll.] Um doppelt sicher zu sein, führen Sie anschließend ENV aus, um sicherzustellen, dass $ PATH effektiv wie gewünscht geändert wurde. (Dies kann verwendet werden, um die Ausgabe zu ändern, die Sie erhalten, wenn Sie '/ usr / bin / env' ausführen. Obwohl ich nicht weiß, ob sie dauerhaft ist oder nicht. Gehen Sie in dieser Hinsicht wie oben angegeben vor und ändern Sie ~ / .bashrc für es zu kleben)
quelle