Ich finde meine .bash_login und .bash_profile nicht
root@linux:~# locate .bash* /etc/bash.bashrc /etc/skel/.bashrc /etc/skel/.bashrc.original /home/noroot/.bashrc /home/noroot/.bashrc.original /root/.bash_history /root/.bashrc /usr/share/base-files/dot.bashrc /usr/share/doc/adduser/examples/adduser.local.conf.examples/bash.bashrc /usr/share/doc/adduser/examples/adduser.local.conf.examples/skel/dot.bashrc /usr/share/kali-defaults/.bashrc root@linux:~# 
Gibt es immer Nur eine .bashrc- und .bash_profile-Datei für jeden Benutzer?
Und befinden sich .bashrc und .bash_profile immer im Verzeichnis / home / „user name“?
Antwort
Die einzigen, die bash standardmäßig betrachtet, befinden sich im Home-Verzeichnis des Benutzers, ja. In Linux gibt es normalerweise auch eine einzige Quelle für sie – / etc / skel. Das Home-Verzeichnis des Benutzers muss sich jedoch nicht unter / home befinden.
 Ich sehe, Sie haben Ihre Frage bearbeitet, um zu fragen, wo sich Ihre .bash_login- und .bash_profile-Dateien befinden. Basierend Bei der Eingabeaufforderung # gehe ich davon aus, dass Sie dies als Root ausführen. In diesem Fall lauten Ihre Dateien 
/root/.bash_history /root/.bashrc 
 Siehe meine ursprüngliche Antwort oben bezüglich des Home-Verzeichnisses eines Benutzers – es ist nicht immer / home. In diesem Fall ist das Home-Verzeichnis von root /root . 
Antwort
 Gemäß man bash: 
Wenn bash aufgerufen wird Als interaktive Anmeldeshell oder als nicht interaktive Shell mit der Option –login werden zuerst Befehle aus der Datei / etc / profile gelesen und ausgeführt, sofern diese Datei vorhanden ist. Nach dem Lesen dieser Datei wird in dieser Reihenfolge nach ~ / .bash_profile, ~ / .bash_login und ~ / .profile gesucht und Befehle von der ersten vorhandenen und lesbaren gelesen und ausgeführt.
~/.bash_profile The personal initialization file, executed for login shells ~/.bashrc The individual per-interactive-shell startup file 
 Es gibt auch  /etc/bashrc  ( /etc/bash.bashrc  in Debian-basiertem Linux), das System wide functions and aliases enthält. Standardmäßig ist dies auch für nicht interaktive, nicht angemeldete Shells festgelegt. 
BEARBEITEN:
 Die tilde in den Pfaden gibt die home directory des aktuell angemeldeten Benutzers an. Bash kann nur einen der ~/.bash_profile, ~/.bash_login, or ~/.profile (pro aktuell angemeldeten Benutzer) in dieser Reihenfolge zum Lesen und Ausführen von Befehlen verwenden. (Debian-basierte Betriebssysteme haben normalerweise nicht ~/.bash_profile or ~/.bash_login. Sie verwenden die Datei ~/.profile. Diese Datei erklärt, dass sie gelesen und verwendet wird, es sei denn ~/.bash_profile or ~/.bash_login werden erstellt. 
#~/.profile: executed by the command interpreter for login shells.
#This file is not read by bash(1), if ~/.bash_profile or ~/.bash_loginexistiert.
Kommentare
- Auf welche Weise beantwortet dies meine Frage?
 - @BROY Es beantwortet die Frage, die Sie hätten stellen sollen und nicht die, die Sie gestellt haben.
 - Ich habe einige Leute gesehen, die eine .bash_profile-Datei in Projektverzeichnisse abgelegt haben. Wird das wirklich von bash erfasst? Ich glaube nicht, dass '
 
Antwort
 Ihre bashrc ist von der Distribution abhängig … Hier ist eine grundlegende Liste für das System bashrc: 
 /etc/bashrc (Redhat, Fedora usw.) 
 /etc/bash.bashrc (Debian, Ubuntu, Linux Mint, Backtrack, Kali usw.) 
 /etc/bash.bashrc.local (Suse, OpenSuse usw.) 
 Dann gibt es den privaten Einzelbenutzer bashrc, der größtenteils in ~/.bashrc für praktisch jede Distribution … Wenn Sie keine der aufgelisteten Distributionen oder ein spezielles System haben, können Sie immer nach bashrc Standort auf Google für diese Distribution oder dieses System … 
 Grüße, 
 Interessant … 
Antwort
Wie bereits erwähnt, finden Sie in /etc/skel/.bashrc ein Bashrc-Skelett. Wenn verschiedene Benutzer unterschiedliche Bash-Konfigurationen wünschen, müssen Sie eine .bashrc-Datei in den Home-Ordner dieses Benutzers einfügen.
Wenn es um .bash_profile und .bash_login geht, muss der Benutzer diese manuell erstellen und über bashrc verknüpfen . bash_profile und bash_login sorgen für ein besser organisiertes Gefühl für die verschiedenen Einstellungen, die Sie laden. Ich persönlich behalte alle meine Aliase in bash_profile, damit ich kein Durcheinander in bashrc sortieren muss, um eine schnelle Bearbeitung vorzunehmen.
Hier ist ein Beispiel dafür, was Sie in Ihrer .bashrc-Datei haben würden:
if [ -f ~/.bash_profile ]; then . ~/.bash_profile fi