


So lösen Sie das Problem, dass die Linux-Benutzerquelle .bashrc oder .profile die Datei nicht finden kann
Linux-Benutzerquelle .bashrc oder .profile-Datei kann nicht gefunden werden
Diese Situation ist mir schon einmal in Debian, New For, begegnet Bei hinzugefügten Benutzern zeigt der Pfad für jede Anmeldung sh-42$ an, was erfordert, dass su - Benutzername zum Normalzustand zurückkehrt, und die .bashrc- und andere Konfigurationsdateien im Benutzerverzeichnis können nicht bezogen werden, was eine Reihe von Problemen verursacht.
Wenn dies der Fall ist, ist es sehr wahrscheinlich, dass die Standard-Start-Shell von Linux falsch ist und vi /etc/passwd die entsprechende Start-Shell des Benutzers überprüft und vergleicht mit anderen normalen Benutzern. Wenn sie unterschiedlich sind, ändern Sie sie so, dass sie gleich sind. .
Wenn beispielsweise die Shell anderer normaler Benutzer /bin/bash ist und die Shell abnormaler Benutzer /bin/sh ist, ändern Sie sie in /bin/bash.
Der Unterschied zwischen Linux .bashrc .bash_profile und .profile
1 Überblick
Die Bash-Shell verwendet einige Startdateien, um Umgebungsvariablen festzulegen, diese Startup Dateien bestimmen bestimmte Bash-Shell-Konfigurationen für die Shell selbst und für Systembenutzer. In diesem Artikel werden wir den Unterschied zwischen .bashrc, .bash-profile und .profile verstehen.
2 Interaktive und nicht-interaktive Shells
Bash bietet zwei Modusoptionen in der interaktiven Shell: Anmelden und Nicht-Anmelden (Anmelden und Nicht-Anmelden). -Login).
Wenn wir uns mit ssh am System anmelden, erhalten wir eine interaktive Login-Shell (interaktive Login-Shell), die beim Aufruf die Startdatei liest.
Wenn wir jedoch eine neue Shell auf einer bereits angemeldeten Shell aufrufen, erhalten wir eine interaktive Shell ohne Anmeldung. Diese Shell führt nur .bashrc-Dateien aus. Wenn ein Skript beispielsweise eine Subshell erzeugt, um einen Befehl auszuführen, ist die Subshell eine nicht interaktive Shell, die Subshell führt keine Startdateien aus, sondern erbt Umgebungsvariablen von der Shell, die sie erstellt hat.
3 Bash-Startdatei
Die Startdatei enthält die Befehle, die beim Start der Shell ausgeführt werden müssen. Daher führt die Shell automatisch die Befehle in diesen Startdateien aus, um die Shell einzurichten. Dieser Vorgang findet statt, bevor die Eingabeaufforderung angezeigt wird.
3.1 Bedeutung von .bash_profileDie .bash_profile-Datei enthält Befehle zum Festlegen von Umgebungsvariablen, sodass die Shell diese Variablen erbt. In einer interaktiven Login-Shell sucht Bash zunächst nach der Datei /etc/profile. Wenn es gefunden wird, wird es von Bash in der aktuellen Shell gelesen und ausgeführt. Das Ergebnis ist, dass /etc/profile die Umgebungskonfiguration für alle Benutzer festlegt. Falls vorhanden, führt Bash .bash_profile in der aktuellen Shell aus und Bash hört dann auf, nach anderen Dateien wie .bash_login und .profile zu suchen.
Wenn Bash .bash_profile nicht findet, sucht es der Reihe nach nach .bash_login und .profile und führt nur die erste lesbare Datei aus.
Sehen wir uns eine Beispieldatei .bash_profile an. Hier setzen wir die PATH-Variable zurück und exportieren sie
echo "Bash_profile execution starts.." PATH=$PATH:$HOME/bin; export PATH; echo "Bash_profile execution stops.."
Bevor wir uns interaktiv an der Eingabeaufforderung der Shell anmelden, sehen wir die folgende Ausgabe
Bash_profile execution starts.. Bash_profile execution stops.. [example@example ~]$
.bashrc enthält Befehle, die speziell für die Bash-Shell gelten. Jede interaktive Shell ohne Anmeldung liest zuerst .bashrc, und im Allgemeinen ist .bashrc der beste Ort, um Aliase und Bash-bezogene Funktionen hinzuzufügen.
Die Bash-Shell sucht im Home-Verzeichnis nach der .bashrc-Datei und verwendet die Quelle, um sie in der aktuellen Shell auszuführen. Lassen Sie uns die .bashrc-Datei anhand eines Beispiels kennenlernen
echo "Bashrc execution starts.." alias elui='top -c -u $USER' alias ll='ls -lrt' echo "Bashrc execution stops.."
Vor der Eingabeaufforderung der interaktiven Nicht-Anmelde-Shell sehen wir die folgende Ausgabe
[example@example ~]$ bash Bashrc execution starts.. Bashrc execution stops.. [example@example ~]$
Wenn .bash_profile während des interaktiven Shell-Anmeldevorgangs nicht im Home-Verzeichnis vorhanden ist, sucht Bash nach .bash_login . Wenn **.bash_login** gefunden wird und Bash es ausführt. Wenn .bash_login nicht im Home-Verzeichnis vorhanden ist, sucht Bash nach .profile und führt es aus.
.profile kann die Konfiguration mit .bash_profile oder .bash_login beibehalten. Es steuert, welche Eingabeaufforderungen angezeigt werden, Tastaturtöne, welche Shell geöffnet werden soll und individuelle Profileinstellungen, die in der Datei /etc/profile festgelegte Variablen überschreiben. 4 Unterschied
Bei jeder interaktiven Anmeldung führt die Bash-Shell .bash_profile aus. Wenn .bash_profile nicht im Home-Verzeichnis gefunden wird, führt Bash die erste lesbare Datei aus, die aus .bash_login und .profile gefunden wird. Bei jedem interaktiven Shell-Start ohne Anmeldung erstellt Bash jedoch .bashrc.
Normalerweise werden Umgebungsvariablen in .bash_profile eingefügt. Da die interaktive Login-Shell die erste Shell ist, werden alle für die Umgebungseinrichtung erforderlichen Standardeinstellungen in **.bash_profile** abgelegt. Daher werden sie nur einmal festgelegt und in allen Subshells vererbt.
Ebenso werden auch Aliase und Funktionen in .bashrc eingefügt. Stellen Sie sicher, dass diese jedes Mal geladen werden, wenn Sie eine Shell aus einer vorhandenen Umgebung starten.
Allerdings, um Vermeiden Sie Anmeldung und Nicht-Anmeldung. Unterschiede in den interaktiven Shell-Einstellungen für die Anmeldung. .bash_profile ruft .bashrc auf. Daher wird das folgende Code-Snippet in **.bash_profile** eingefügt, sodass bei jeder interaktiven Login-Shell auch .bashrc in derselben Shell ausgeführt wird:
if [ -f ~/.bashrc ]; then . ~/.bashrc; fi PATH=$PATH:$HOME/bin export PATH
注意:
总而言之,在使用环境之前,shell需要其启动文件以配置shell环境。
在本文中,我们检查了各种shell模式。然后,我们了解了各种bash启动文件的重要性。最后,我们检查了这些启动文件之间的差异。
Das obige ist der detaillierte Inhalt vonSo lösen Sie das Problem, dass die Linux-Benutzerquelle .bashrc oder .profile die Datei nicht finden kann. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Docker Process Viewing -Methode: 1. Docker Cli -Befehl: Docker PS; 2. SYSTEMD CLI -Befehl: SystemCTL Status Docker; 3.. Docker Compose CLI Command: Docker-Compose PS; 4. Process Explorer (Windows); 5. /proc -Verzeichnis (Linux).

VS Code system requirements: Operating system: Windows 10 and above, macOS 10.12 and above, Linux distribution processor: minimum 1.6 GHz, recommended 2.0 GHz and above memory: minimum 512 MB, recommended 4 GB and above storage space: minimum 250 MB, recommended 1 GB and above other requirements: stable network connection, Xorg/Wayland (Linux)

Die Gründe für die Installation von VS -Code -Erweiterungen können sein: Netzwerkinstabilität, unzureichende Berechtigungen, Systemkompatibilitätsprobleme, VS -Code -Version ist zu alt, Antiviren -Software oder Firewall -Interferenz. Durch Überprüfen von Netzwerkverbindungen, Berechtigungen, Protokolldateien, Aktualisierungen von VS -Code, Deaktivieren von Sicherheitssoftware und Neustart von Code oder Computern können Sie Probleme schrittweise beheben und beheben.

VS -Code ist auf Mac verfügbar. Es verfügt über leistungsstarke Erweiterungen, GIT -Integration, Terminal und Debugger und bietet auch eine Fülle von Setup -Optionen. Für besonders große Projekte oder hoch berufliche Entwicklung kann VS -Code jedoch Leistung oder funktionale Einschränkungen aufweisen.

VS Code ist der vollständige Name Visual Studio Code, der eine kostenlose und open-Source-plattformübergreifende Code-Editor und Entwicklungsumgebung von Microsoft ist. Es unterstützt eine breite Palette von Programmiersprachen und bietet Syntax -Hervorhebung, automatische Codebettel, Code -Snippets und intelligente Eingabeaufforderungen zur Verbesserung der Entwicklungseffizienz. Durch ein reiches Erweiterungs -Ökosystem können Benutzer bestimmte Bedürfnisse und Sprachen wie Debugger, Code -Formatierungs -Tools und Git -Integrationen erweitern. VS -Code enthält auch einen intuitiven Debugger, mit dem Fehler in Ihrem Code schnell gefunden und behoben werden können.

Obwohl Notepad den Java -Code nicht direkt ausführen kann, kann er durch Verwendung anderer Tools erreicht werden: Verwenden des Befehlszeilencompilers (JAVAC), um eine Bytecode -Datei (Dateiname.class) zu generieren. Verwenden Sie den Java Interpreter (Java), um Bytecode zu interpretieren, den Code auszuführen und das Ergebnis auszugeben.

Zu den Hauptanwendungen von Linux gehören: 1. Server -Betriebssystem, 2. Eingebettes System, 3. Desktop -Betriebssystem, 4. Entwicklungs- und Testumgebung. Linux zeichnet sich in diesen Bereichen aus und bietet Stabilität, Sicherheits- und effiziente Entwicklungstools.

Visual Studio Code (VSCODE) ist ein plattformübergreifender, Open-Source-Editor und kostenloser Code-Editor, der von Microsoft entwickelt wurde. Es ist bekannt für seine leichte, Skalierbarkeit und Unterstützung für eine Vielzahl von Programmiersprachen. Um VSCODE zu installieren, besuchen Sie bitte die offizielle Website, um das Installateur herunterzuladen und auszuführen. Bei der Verwendung von VSCODE können Sie neue Projekte erstellen, Code bearbeiten, Code bearbeiten, Projekte navigieren, VSCODE erweitern und Einstellungen verwalten. VSCODE ist für Windows, MacOS und Linux verfügbar, unterstützt mehrere Programmiersprachen und bietet verschiedene Erweiterungen über den Marktplatz. Zu den Vorteilen zählen leicht, Skalierbarkeit, umfangreiche Sprachunterstützung, umfangreiche Funktionen und Versionen
