Wie bekomme ich die .profildatei für die Arbeit auf einem Solaris-Computer?
Frage
Das frustriert mich seit zwei Tagen und es scheint, als ob es eine sehr einfache Sache sein sollte.Ich habe gerade ein Konto auf einem Solaris-Computer erstellt.Sun OS 5.10 glaube ich.
Die Standardeinstellung ist die Bourne-Shell, die ich nicht möchte.Ich habe ein cat /etc/shells
was zu Folgendem führt:
/bin/sh
/sbin/sh
/bin/ksh
/usr/bin/ksh
Sieht so aus, als ob Korn Shell alles ist, was ich verwenden kann.
Ich habe eine erstellt .profile
datei und schrieb:
export SHELL=/usr/bin/ksh
Dann habe ich einen gemacht env
und es sieht so aus /bin/sh
ist immer noch als meine Shell aufgeführt.Ich habe mich abgemeldet, wieder angemeldet und jetzt bekomme ich:
-sh: SHELL=/usr/bin/ksh: is not an identifier
Ich habe versucht hinzuzufügen #!/usr/bin/ksh
zu Beginn des .profile
.Das hat nicht funktioniert.Ich habe versucht, am Ende des ein Semikolon hinzuzufügen export
.Das hat nicht funktioniert.Ich habe es versucht: SHELL=/bin/ksh
und das hat auch nicht funktioniert.
Mein Endziel ist es, diese Umgebung an einen Punkt zu bringen, an dem ich produktiv arbeiten kann.Ich bin es gewohnt zu schlagen, wo ich Tabulatoren, Aufwärtspfeile für Verlauf usw. habe, und diese Bourne-Shell hat nichts davon und es frustriert mich ohne Ende.
Ich weiß, dass das einfach sein muss, aber all mein Googeln bringt nichts.Kann mir jemand helfen?
Lösung
/etc/shells
ist keine Standard-Solaris-Datei, sollten Sie sich wahrscheinlich nicht auf ihren Inhalt verlassen.
Auf der anderen Seite, bash
ist Teil der Standardinstallation von Solaris 10.Es sollte bereits vorhanden sein als /bin/bash
(/usr/bin/bash
eigentlich aber /bin
ist ein Symlink zu /usr/bin
trotzdem).
Wenn bash
ist nicht da, möchten Sie vielleicht den Administrator bitten, das zu installieren SUNWbash
paket von der Solaris_10/Product
verzeichnis auf dem Installationsmedium.
Um Ihre Shell zu aktualisieren, besteht der reguläre Weg darin, die für Ihr Konto definierte Shell zu aktualisieren.Wenn es lokal ist, ist dies das letzte Feld in Ihrem /etc/passwd
Eintrag.
Alternativ können Sie diesen Hack am Ende Ihres .Profil:
[ ! "$BASH_VERSION" -a -x /bin/bash ] && SHELL=/bin/bash exec /bin/bash
Andere Tipps
In absteigender Reihenfolge der Präferenz
- bitten Sie den Systemadministrator, bash zu installieren und / etc / shells zu aktualisieren und Ihre Login-Shell zu aktualisieren
- sehen Sie, ob die
chsh
es ist ein Programm installiert, mit dem Sie Ihre eigene Login-Shell ändern können - bitten Sie den Systemadministrator, Ihre Anmeldeshell in / usr / bin / ksh zu ändern
ändern Sie Ihr ~/ .Profil:
if type [[ >/dev/null; then : # this is ksh else # not ksh export SHELL; SHELL=/usr/bin/ksh exec $SHELL fi