%20nicht%3F.png)
Ich habe diese Dateien in meinem Home-Verzeichnis:
drwxr-xr-x 3 meuser staff 256 Oct 12 13:11 .
drwxr-xr-x 102 bin bin 4096 Sep 30 12:28 ..
-rw------- 1 meuser staff 5349 Oct 11 20:44 .bash_history
-rwx------ 1 meuser staff 466 Jun 26 22:12 .profile
-rw------- 1 meuser staff 7074 Oct 12 13:11 .sh_history
drwx------ 2 meuser staff 256 Aug 16 15:28 .ssh
.profile
Meine Standard-Shell ist die Korn-Shell. Als ich versuchte, einen Alias wie folgt einzugeben :
alias l='ls -lrt'
und habe versucht, es nach dem erneuten Anmelden auszuführen:
$ l
ksh: l: not found.
Wie lässt sich dieser Alias zum Laufen bringen?
Antwort1
.profile
wird nur beim Login gelesen. Spätere Änderungen wirken sich nicht auf die aktuelle Umgebung aus. Sie müssen neu laden .profile
durch:
- Quelle der Datei:
. .profile
(betrifft dieaktuellSchale, nichtalleMuscheln) su -l <user>
(neuer Login)- Abmelden + Anmelden
Antwort2
Es funktioniert.
Der einzige Unterschied, den ich bei meinem eigenen .profile sehe, sind die doppelten Anführungszeichen:
alias l="ls -l"
Diese Zeile funktioniert bei mir unter AIX mit ksh als Shell.
Bezüglich der Trennung und Wiederherstellung der Verbindung … sind Sie sicher, dass die Standard-Shell ksh ist? Überprüfen Sie Ihren Benutzer in /etc/passwd.
Antwort3
Dies .profile
ist nicht Ihre Shell-Konfigurationsdatei, sondern Ihre AnmeldesitzungEinstellungsdatei. Es wird nur von der Shell gelesen, die beim Anmelden gestartet wird, nicht von anderen interaktiven Shells, die während Ihrer Anmeldesitzung gestartet werden.
ksh
verfügt an sich nicht über eine dedizierte Anpassungsdatei, behandelt die $ENV
Variable jedoch als Pfad zu einer Anpassungsdatei für interaktive Shell-Sitzungen.
Sie würden also etwas hinzufügen wie:
ENV="$HOME/.kshrc" export ENV
zu Ihrem ~/.profile
und:
alias 'l=ls -lrt'
zu Ihrem ~/.kshrc
.
Die Änderung würde erst beim nächsten Login wirksam werden.
Antwort4
Die Aliase funktionieren in AIX mit Korn Shell.
Fügen Sie am Ende Ihres /etc/profile
Likes einige Befehle ein:
export PS1="`hostname`# "
alias ll="/usr/bin/ls -lF $*"
alias h="history 50"
Wenn Sie diese Variablen in Ihrer Umgebung festlegen möchten, starten Sie:
. /etc/profile