Linux: bashrc. Wie lädt man bashrc-Inhalte aus einer anderen Datei?

586
user3728501

Ich muss gelegentlich Betriebssysteme auf den verschiedenen Linux-Maschinen installieren, die ich verwalte. Jedes Mal, wenn ich dies tue, muss ich die .bashrcDatei auf ein USB-Laufwerk kopieren, bevor das alte System gelöscht wird. Nach der Installation eines neuen Systems stelle ich es wieder her. (Und vielleicht bearbeiten, wenn etwas nicht mehr kompatibel ist.)

Das ist ärgerlich, und ich bleibe normalerweise bei einer Version eines Linux-Betriebssystems und installiere es auf den meisten meiner Maschinen. Ich habe also versucht, meinen .bashrcInhalt in einer neuen Datei in meinem Dropbox-Ordner zu speichern .

Zum Beispiel habe ich HISTTIMEFORMAT="%F %T "eine Datei mybashin meinem Dropbox-Ordner angelegt.

Was muss ich in meine .bashrcDatei einfügen, um "alles aus der mybashDatei zu laden "?

Ich habe es versucht, aber es schien nicht zu funktionieren?

# Load bash custom files if [ -f /home/user/Dropbox/mybash ] then . /home/user/Dropbox/mybash fi 
0
Nur ein Vorschlag. Warum erstellen Sie nicht ein Git-Repository und Host auf Github. Und wenn Sie wollen, machen Sie einfach einen Git-Klon. C0deDaedalus vor 6 Jahren 0
@ C0deDaedalus Eine gute Idee könnte das auch - Dropbox war nur ein einfacher Weg user3728501 vor 6 Jahren 0

2 Antworten auf die Frage

0
user3728501

Ich habe das Problem mit den hier gefundenen Informationen behoben .

Menü -> Bearbeiten -> Einstellungen -> Allgemein -> Markieren Sie das Kästchen: Als Login-Shell ausführen

Vielen Dank an AnythingIsFine, dass Sie mich in die richtige Richtung weisen.

Dies ist eine XFCE-Terminal-spezifische Lösung.

-1
AnythingIsFine

Sind Sie sicher, dass der Benutzer, der die .bashrc-Datei bezieht, die Berechtigung zum Lesen hat:

. / home / user / Dropbox / mybash

Benutzer können nicht aus den Heimatverzeichnissen eines anderen Benutzers lesen, sofern dies nicht ausdrücklich dafür konfiguriert ist.

Der wahre Grund könnte sein, dass Sie Ihr vermissen

~/.bash_profile 

Datei, die Ihre

~/.bashrc 

wo Sie schließlich aufgefordert wurden, Ihre mybashDatei zu quellen.

Sie sollten Ihren Code dem folgenden hinzufügen:

~/.bash_profile 

stattdessen.

Ich bin derselbe Benutzer, also wäre meine Vermutung ja? user3728501 vor 6 Jahren 0
Ich habe meinen Kommentar bearbeitet, um die Ursache zu zeigen, die ich vermute. AnythingIsFine vor 6 Jahren 0
Ich habe keine .bash_profile -Datei auf meinem System. Was soll ich da reinlegen? user3728501 vor 6 Jahren 0
Listen Sie alle Dateien von / home (einschließlich versteckter Dateien) auf und sehen Sie, welche die Datei ".bashrc" verwendet. Es kann auch einfach ".profile" genannt werden. AnythingIsFine vor 6 Jahren 0
Es scheint ".profile" zu sein. Was muss ich in diese Datei einfügen, um Inhalte von einer anderen zu laden? user3728501 vor 6 Jahren 0
Das Gleiche wie das, was Sie in Ihre ursprüngliche Frage gestellt haben, die if-Bedingung und die Quelle von "mybash". Melden Sie sich erneut an und überprüfen Sie das Verlaufsprotokoll auf Zeitstempel AnythingIsFine vor 6 Jahren 0
Warum funktioniert "Verschachtelung" nicht? z.B; Eine Datei lädt eine andere, welche eine andere lädt? user3728501 vor 6 Jahren 0
Trotzdem scheint es nicht so oder so zu funktionieren ... user3728501 vor 6 Jahren 0
Verwenden Sie "su - user", um sich anzumelden? AnythingIsFine vor 6 Jahren 0
Nein, ich melde mich mit xfce4 an. Sorry nicht sicher, ob ich die Frage verstehe? user3728501 vor 6 Jahren 0
Ich bin nicht mit dem XFCE-Terminal vertraut, mit dem Sie sich anmelden, aber melden Sie sich als anderer Benutzer an und geben Sie dann die "su - "um zu sehen, ob Ihre Datei beschafft wird. AnythingIsFine vor 6 Jahren 0
Hat das keinen Unterschied gemacht user3728501 vor 6 Jahren 0
Sind Sie sicher, dass Sie "bash" als Login-Shell verwenden? Bitte führen Sie diesen Befehl "echo $ SHELL" aus. AnythingIsFine vor 6 Jahren 0
Es ist definitiv bash / bin / bash user3728501 vor 6 Jahren 0
Dann könnte es an Ihrem Anmeldeterminal XFCE4 liegen. Schauen Sie sich die unten stehenden Links an, um zu sehen, ob es hilft ... [Ubuntu] (https://askubuntu.com/questions/566399/why-isnt-profile-sourced-when-opening-a-terminal) oder [ Unix] (https://superuser.com/questions/176404/bash-not-loading-profile-in-new-session-on-linux) AnythingIsFine vor 6 Jahren 0