Folgendes habe ich aus meinem Vortrag notiert:
- Suchen Sie die Datei
.bashrc
in Ihrem Home-Verzeichnis - machen
vi .bashrc
- Wenn Sie einen Anwendungsordner irgendwo ablegen, stellen Sie sicher, dass sich seine Adresse in der Pfadvariablen befindet.
Das Problem ist, dass ich keine .bashrc
Datei in meinem Home-Verzeichnis habe. Es gibt nur eine .bash_history
Datei in meinem Haus.
Wenn ich zum Stammverzeichnis gehe, gibt es dort eine etc/bash.bashrc
Datei, aber ich denke, dass sie Änderungen für alle Benutzer und nicht nur für mich vornehmen wird. Ich möchte diesen Weg nur für mich selbst hinzufügen. Es sollte andere nicht beeinflussen. Außerdem enthält $PATH
diese bashrc-Datei keine Variable, sodass ich noch verwirrter bin.
~/data/user1/bin
Ordner. Ich habe diesen Pfad zur .bashrc-Datei hinzugefügt. Was muss ich nun tun, damit beim Eingeben von Lego die Software gestartet wird? Muss ich einen Alias einrichten? Wenn ja, wie?alias lego='<What do i put here???>'
~/data/user1/bin
Ihrer Umgebungsvariablen PATH in der.bashrc
Datei hinzugefügt ? (Fügen Sie diese Zeile hinzu :)export PATH=$PATH:~/data/user1/bin
- Wenn ja, sollten Sie nurlego
das Terminal eingeben können und das Programm sollte starten.PATH=$PATH:~/data/user1/bin
. Sie haben den Export nicht erwähnt, also habe ich ihn nicht dort abgelegt. Ich werde es morgen noch einmal versuchen, wenn ich zur Uni gehe.lego
das Wort ist, mit dem die Software gestartet wird.Die meisten Distributionen enthalten eine Standarddatei
.bashrc
, die/etc/skel/
Sie einfach in Ihr Home-Verzeichnis kopieren können. Andernfalls können Sie einfach eine neue leere.bashrc
Datei in Ihrem Home-Verzeichnis erstellen.quelle
Erstellen Sie Ihre eigene Startdatei für interaktive Shells
Informationen zu Bash-Startdateien
Aus dem Abschnitt INVOCATION von
man 1 bash
sagt:Beachten Sie, dass diese Startdateien optional sind . Bash benötigt sie nicht. Bash unterscheidet auch zwischen Login-Shells und interaktiven Shells. Eine interaktive Shell ist wie folgt definiert:
Viele Distributionen beziehen einen Startdateityp vom anderen, andere jedoch nicht. Daher kann es schwierig sein, dieses Problem kanonisch zu beheben. Sie müssen alle Ihre Startdateien untersuchen, um festzustellen, wie und wann Sie
~/.bashrc
auf Ihrem System aufgerufen werden.Erstellen Ihrer interaktiven Shell-Startdatei pro Benutzer
Wenn Sie einfach eine benutzerspezifische
~/.bashrc
Datei vermissen , erstellen Sie einfach eine. Dies wird von Bash für Nicht-Login-Shells (z. B. Shells, die ohne--login
Flag gestartet wurden ) oder immer dann aufgerufen , wenn Sie die Shell zur Interaktion zwingen, indem Sie sie mit dem-i
Flag aufrufen .quelle
Wenn Sie keine haben
.bashrc
, können Sie einfach eine erstellen und die gewünschten Zeilen hinzufügen, z. B.:um Ihr Benutzer-Bin-Verzeichnis am Ende des Pfads hinzuzufügen.
Sie sollten jedoch vorsichtig sein, wenn andere Startdateien vorhanden sind . Die Regeln für die Verwendung von Dateien sind recht komplex, werden jedoch in der
bash
Manpage beschrieben. Geben Sieman bash
in eine Befehlszeile ein und suchen Sie nachINVOCATION
.quelle
Kurze Antworten:
find ~ -maxdepth 1 -name '.bashrc'
vi ~/.bashrc
echo $PATH | grep ~/MyNewCoolProgramFolder
Detaillierte:
Ich nehme eine genauere wörtliche Interpretation.
"Datei .bashrc in Ihrem Home-Verzeichnis suchen"
Da der Befehl vorhanden ist
find
, schlägt der tückische Editor möglicherweisevor, ihn zu verwenden:Suchen Sie im Home-Verzeichnis
~
und steigen Sie nur von einer Ebene ab (kein Unterverzeichnis-maxdepth 1
). Für alle Optionen schreibenman find
.Die Zeile unter dem erledigt den minimalen Job
Hinweis: Falls
~/.bashrc
nicht vorhanden , können Sie es mit einem einfachen erstellenecho >> ~/.bashrc
.Das
>>
erstellt die Datei, wenn sie nicht vorhanden ist. Wenn das~/.bashrc
stattdessen vorhanden ist, wird nur die harmlose Ausgabe von leer angehängtecho
, wodurch ein unbeabsichtigtes Löschen einer solchen kritischen Datei vermieden wird, die ohne Sicherung nur schwer wiederherzustellen ist.(Das Folgende ist, weil ich selten die Bedeutung meines Spitznamens beachten muss, nicht ausführen, wenn Sie Zweifel haben).
"Do
vi .bashrc
"Jetzt können Sie tun
vi ~/.bashrc
, die Falle hier ist, dass Sie drücken:undqverlassen müssen!Anwendungsordner und
$PATH
Wenn Sie einen Anwendungsordner erstellen, z. B.
~/MyNewCoolProgramFolder
wird in der folgenden Zeile nur überprüft, ob er sich in der$PATH
folgendenDatei befindet:Sie müssen nicht hinzufügen, wenn bereits vorhanden ist. Bei Bedarf können Sie die
$PATH
mit hinzufügenund um diese Zeile hinzuzufügen,
~/.bashrc
wenn Sie sie dauerhaft machen möchten."4?!? Wie 4, wenn es nur 3 Punkte gäbe?" - Problemumgehungen.
Für letztere gibt es einige Problemumgehungen. Angenommen, eine ausführbare Datei mit dem Namen
CoolDetraveller
existiert nur in Ihrem neuen Anwendungsordner:(a) Sie können versuchen, es auszuführen. Einfach wird es nicht starten, wenn es nicht in der ist
$PATH
.(b) Sie können die automatische Vervollständigung versuchen . Beginnen Sie zu schreiben
CoolDetravelle
und drücken Sie Tab. Wenn es in der ist$PATH
, wird es automatisch vervollständigt (immer wenn die automatische Vervollständigung aktiviert ist).(c) Sie können fragen,
which
ob der Befehl bash shell verwendet wird, wenn Sie den Befehl schreibenCoolDetraveller
.Hinweis: Wenn in Ihrem Anwendungspfad ein oder mehr Leerzeichen enthalten sind,
which
konnte feststellen , nicht in der Lage zuCoolDetraveller
, obwohl (hier ehre ich meinen Spitznamen wieder) , um die automatische Vervollständigung desCoolDetraveller
als gültige Parameter deswhich
Befehls funktioniert!Ad nauseam : Sie können nicht fragen,
whereis CoolDetraveller
weilwhereis
quelle