ksh unter NetBSD und OpenBSD

haary

Member
Ich versuch mich gerade etwas in die [Net|Open]BSD einzuarbeiten und wollte mich auch, damit ich nicht immer bash installieren muss, an die ksh gewöhnen.

Dabei ist mit aufgefallen, dass die ksh unter NetBSD sich vollkommen anders verhält als unter OpenBSD. Beide geben aber exakt die gleiche Versionsnummer aus.

Beispiel: export PS1='\u@\h:\w$ ' ergibt bei der ksh unter OpenBSD, wie bei der bash,
"user@host:~$" als Prompt, unter NetBSD "\u@\h:\w$". Ctrl-r für die history-Suche scheint auch nicht richtig unter NetBSD zu funktionieren.

Frage: hat OpenBSD massiv die ksh gepatcht, um die mehr "bash-like" zu machen?
 
Hi,

welche Versionen hast du den von ksh und OpenBSD?

Bei mir kommt:

Code:
OpenBSD-zsh% ksh
$ export PS1='\u@\h:\w$ '
\u@\h:\w$ echo $KSH_VERSION 
@(#)PD KSH v5.2.14 99/07/13.2

Ciao

Der Kawana
 
set|grep KSH_VERSION

OpenBSD 3.8:
KSH_VERSION='@(#)PD KSH v5.2.14 99/07/13.2'

NetBSD 3.0:
KSH_VERSION='@(#)PD KSH v5.2.14 99/07/13.2'

Also absolut identisch.
 
haary said:
Dabei ist mit aufgefallen, dass die ksh unter NetBSD sich vollkommen anders verhält als unter OpenBSD. Beide geben aber exakt die gleiche Versionsnummer aus.

Vergiss die Versionsnummern, die sagen rein garnichts aus.

Die PD-ksh wird upstream nicht mehr wirklich weitergepflegt, deshalb nimmt sich zumindest OpenBSD die Freiheit, das Teil nach Belieben zu aendern. Und das ist auch gut so, immerhin konnte der Code dadurch u.a. massiv aufgeraeumt werden.

Frage: hat OpenBSD massiv die ksh gepatcht, um die mehr "bash-like" zu machen?

Es sind zumindest einige sinnvolle Features implementiert worden. Neben der PS1-Expansion gibt es IIRC auch eine (primitive) History-Expansion mit !, die aber weniger kann, als die der bash.

Im Zweifelsfall sollten die CVS logs sagen, wer wann was geaendert hat.
 
kili said:
Vergiss die Versionsnummern, die sagen rein garnichts aus.

Die PD-ksh wird upstream nicht mehr wirklich weitergepflegt, deshalb nimmt sich zumindest OpenBSD die Freiheit, das Teil nach Belieben zu aendern. Und das ist auch gut so, immerhin konnte der Code dadurch u.a. massiv aufgeraeumt werden.

Es sind zumindest einige sinnvolle Features implementiert worden. Neben der PS1-Expansion gibt es IIRC auch eine (primitive) History-Expansion mit !, die aber weniger kann, als die der bash. Im Zweifelsfall sollten die CVS logs sagen, wer wann was geaendert hat.

Ahh ... das ist die Auskunft, die ich gesucht hatte, danke.

Ich hätte vielleicht doch besser googlen sollen, inzwischen habe ich auch in der FAQ gefunden, dass die ksh seit OpenBSD 3.7 diese Verbesserungen hat. (Dort steht aber nicht, dass die Verbesserungen von OpenBSD stammen).

Ist ja interessant, ich dachte, zwischen den BSDs herrscht ein reger Code-Austausch. Naja, vielleicht zieht NetBSD mit 4.0 ja nach ;-) (Nein, das ist jetzt kein Aufruf zum NetBSD-Bashing)
 
haary said:
Ist ja interessant, ich dachte, zwischen den BSDs herrscht ein reger Code-Austausch. Naja, vielleicht zieht NetBSD mit 4.0 ja nach ;-) (Nein, das ist jetzt kein Aufruf zum NetBSD-Bashing)

Also ich hatte damals als Vorbereitung fuer einen Bugfix und das hex/oct-Geraffel ca. 10% des Codes komplett entsorgt und noch einiges geaendert (das musste sein, bei den ganzen #ifdef OS2, #ifdef CYGWIN, etc. ist ja kein Schwein mehr durch die Sourcen durchgestiegen).

Vielleicht wollen die NetBSDler ja einfach weiterhin moeglichst dicht an den Originalsourcen bleiben. Wozu auch immer das gut sein sollte.
 
Hallo,

wie auch immer, meine ksh unter OpenBSD verhält sich wie die NetBSD-Shell haarys, vielleicht doch was an der speziellen Einstellungen?!

Ciao

Der Kawana
 
kawana said:
wie auch immer, meine ksh unter OpenBSD verhält sich wie die NetBSD-Shell haarys, vielleicht doch was an der speziellen Einstellungen?!

Dann hast Du wohl noch OpenBSD 3.6 am Start.
 
kili said:
Vergiss die Versionsnummern, die sagen rein garnichts aus.

Die PD-ksh wird upstream nicht mehr wirklich weitergepflegt, deshalb nimmt sich zumindest OpenBSD die Freiheit, das Teil nach Belieben zu aendern. Und das ist auch gut so, immerhin konnte der Code dadurch u.a. massiv aufgeraeumt werden.
also ich finde, dann sollte die versionsnummer auch angepasst werden. netbsd 3.0 ist schliesslich auch ueberall netbsd 3.0 und nicht openbsd oder netbsd 2.1.

mag sein, dass die versionsnummer hier faktisch nichts aussagt, das heisst aber nicht, dass sie das nicht doch sollte.
 
TCM said:
also ich finde, dann sollte die versionsnummer auch angepasst werden. netbsd 3.0 ist schliesslich auch ueberall netbsd 3.0 und nicht openbsd oder netbsd 2.1.

mag sein, dass die versionsnummer hier faktisch nichts aussagt, das heisst aber nicht, dass sie das nicht doch sollte.

Also dann wuerde ich sie lieber komplett rauswerfen. Oder schlicht durch "@(#)PD KSH, OpenBSD $(uname -r)" ersetzen.
 
kili said:
Also dann wuerde ich sie lieber komplett rauswerfen. Oder schlicht durch "@(#)PD KSH, OpenBSD $(uname -r)" ersetzen.
ja, versions"nummer" war vielleicht etwas zu genau. ich meinte eigtl die gesamte versionsbezeichnung.
 
Back
Top