expertenaustausch > comp.sys.* > comp.sys.mac.misc

Fritz (08.06.2019, 17:33)
Was ist eigentlich der große Unterschied zwischen bash und zsh?
Ich verwende zwar hin und wider das Terminal, habe mich aber um Details
noch nie gekümmert.

<https://www.heise.de/mac-and-i/meldung/macOS-Catalina-Apple-setzt-auf-zsh-4439722.html>
Günther Dietrich (09.06.2019, 13:28)
Am 08.06.19 um 17:33 schrieb Fritz:
> Was ist eigentlich der große Unterschied zwischen bash und zsh?


In der aktuellen Version ist bash unter GPL 3 lizenziert. Diese Lizenz
ist Apple offenbar zu rigide. Vermutlich deshalb liefert Apple mit den
bisherigen Versionen von MacOS auch eine ältere, noch unter GPL 2
lizenzierte Version von bash aus.
Wenn sie endlich diesen zeitlichen Rückstand aufholen wöllten, müssten
sie die GPL 3 akzeptieren.

Oder sie setzen auf eine andere Shell, welche die meisten Features der
bash beinhaltet, aber unter einer wesentlich lockereren Lizenz
vertrieben werden kann.
Da kommt die zsh ins Spiel. Sie enthält die meisten der Eigenschaften
von bash und die zugehörige Lizenz ist im Vergleich zu GPL (2 und 3)
recht simpel. Damit bekommen sie eine leistungsfähige, aktuelle Shell,
ohne die GPL 3 beachten zu müssen.
Einen Pferdefuß könnte dies aber bergen: Die Lizenz der zsh verweist für
einige -- nicht explizit genannte -- Features wiederum auf die GPL. Dies
allerdings ohne Nennung der Ausgabe der GPL. Es ist anzunehmen, dass
einige hochbezahlte Anwälte dem bereits nachgegangen sind und es als
unbedenklich erklärt haben.

Grüße,

Günther
Fritz (09.06.2019, 17:34)
Am 09.06.19 um 13:28 schrieb Günther Dietrich:
[..]
> allerdings ohne Nennung der Ausgabe der GPL. Es ist anzunehmen, dass
> einige hochbezahlte Anwälte dem bereits nachgegangen sind und es als
> unbedenklich erklärt haben.


Inwiefern unterscheiden sich Beide im Syntax und in den Features?
Muss man sich total umgewöhnen?

Aber die aktuelle Version von bash könnte man:
a) Selbst kompilieren
b) Über Paketmanager, wie MacPorts, Homebrew, Fink, installieren.

Was zukünftig irgendwie erschwerend hinzukommt, Ruby, Python und Perl
werden vermutlich ab macOS 10.16 auch nicht mitgeliefert.
<https://www.heise.de/mac-and-i/meldung/Apple-will-bestimmte-Skriptsprachen-aus-macOS-entfernen-4441552.html>

Will sich Apple, auf längere Sicht gesehen, vom OpenSource Unterbau
verabschieden?
T. (09.06.2019, 22:22)
Fritz schrieb:

> Inwiefern unterscheiden sich Beide im Syntax und in den Features?
> Muss man sich total umgewöhnen?


es ist erstmal eine Shell für die Kommandozeile bzw. das Terminal, der
Syntax ist ähnlich, sind es Programme aus dem User-Land ändert er sich
nicht. Am ehesten wird es Bash-Scripte treffen, die man ggf. anpassen muss.

Alles in allem eine vollkommen nutzlose Aktion, da hilft es auch nicht,
das die zsh moderner als die bash ist :-(

> Was zukünftig irgendwie erschwerend hinzukommt, Ruby, Python und Perl
> werden vermutlich ab macOS 10.16 auch nicht mitgeliefert.


Hat doch Methode, man soll ausschließlich Apples präferierte
Entwicklungsumgebung verwenden und auf dem Mac weder Anwendungen für
andere Plattformen entwickeln, noch "fremde" Programme auf den Mac
portieren. Wozu auch, ist doch alles so schön "goldig" hier.

> Will sich Apple, auf längere Sicht gesehen, vom OpenSource Unterbau
> verabschieden?


Das passiert doch schon seit geraumer Zeit, beim Server haben sie vor
längerem angefangen, jetzt kommt der Client dran.

Allerdings in diesem Fall nicht wg. der Shell - die zsh ist auch
OpenSource, wenngleich mit einer weitaus weniger restriktiven Lizenz wie
die Bash, v.a. die aktuelle mit GPL3. Apple will sich ganz
offensichtlich immer weniger "in die Karten schauen" lassen.

Spielt aber keine Rolle, weil MacOS X mit Sicherheit in nicht allzu
ferner Zukunft in iOS bzw. iPadOS o.ä. münden wird.

Keine Kommandozeile, Programme nur noch aus dem App-Store, keine
(wirklich) alternativen Web-Browser, ...

.... ich bleibe beim Capitan und Linux.
Fritz (10.06.2019, 07:32)
Am 09.06.19 um 22:22 schrieb T.:
> Das passiert doch schon seit geraumer Zeit, beim Server haben sie vor
> längerem angefangen, jetzt kommt der Client dran.
> Allerdings in diesem Fall nicht wg. der Shell - die zsh ist auch
> OpenSource, wenngleich mit einer weitaus weniger restriktiven Lizenz wie
> die Bash, v.a. die aktuelle mit GPL3. Apple will sich ganz
> offensichtlich immer weniger "in die Karten schauen" lassen.
> Spielt aber keine Rolle, weil MacOS X mit Sicherheit in nicht allzu
> ferner Zukunft in iOS bzw. iPadOS o.ä. münden wird.


OT

Da stellt sich die Frage, wer wird endlich ein FreeMac Projekt starten -
analog zur Windows Welt --> ReactOS, Wine, Crossover Projekten?
Einen Ansatz - E/OS - gab es schon einmal.

Basis könnte sowohl ein FreeBSD als auch ein Linux Kernel sein.
Darauf sollten zumindest jene Mac Software laufen, die nicht über den
Apple AppStore angeboten wird.

<https://de.wikipedia.org/wiki/ReactOS>
<https://www.reactos.org/>
<https://de.wikipedia.org/wiki/E/OS>
Ralph Aichinger (10.06.2019, 10:14)
T. <nospam> wrote:
> Spielt aber keine Rolle, weil MacOS X mit Sicherheit in nicht allzu
> ferner Zukunft in iOS bzw. iPadOS o.ä. münden wird.
> Keine Kommandozeile, Programme nur noch aus dem App-Store, keine
> (wirklich) alternativen Web-Browser, ...


Da bin ich mir nicht so sicher. Früher waren Mac-Käufer neben Privat-
anwendern vor allem Grafiker. Heute sind sehr viele Entwickler Mac-User.
Auch weil man damit alle Möglichkeiten einer Clientplattform hat für
die es auch viel kommerzielle Software gibt, genauso wie man eine
Serverumgebung unter Linux einfach nachbilden kann.

Allerdings installieren die sowieso alle Homebrew oder was in der
Art und die Defaultshell ist weniger wichtig für die.

/ralph
Başar Alabay (10.06.2019, 11:59)
Günther Dietrich schrieb:

> Da kommt die zsh ins Spiel. Sie enthält die meisten der Eigenschaften
> von bash und die zugehörige Lizenz ist im Vergleich zu GPL (2 und 3)
> recht simpel. Damit bekommen sie eine leistungsfähige, aktuelle Shell,
> ohne die GPL 3 beachten zu müssen.


Ist die zsh nicht eh um einiges mächtiger als die bash? Mit oh-my-zsh
macht es dann so richtig Spaß :-)

Ich hatte schon vor Jahren auf die zsh umgestellt, und zwar eine
aktuelle via MacPorts. Den Grund habe ich schon längst vergessen.
Irgendwas war es. Ich bilde mir außerdem ein, daß es ab 2000/2001 eh
appleseitig einen Shellwechsel gab, der mich etwas nervte. Aber auch das
ist ja nun schon etwas länger her ? der war womöglich so 2003/2004?

B. Alabay
Başar Alabay (10.06.2019, 12:00)
Fritz schrieb:

> Inwiefern unterscheiden sich Beide im Syntax und in den Features?
> Muss man sich total umgewöhnen?


Ich denke nicht, dß Dir das hier jemand beantworten kann/will. Die zsh
ist schon ein Ding für sich. Lies Dich im Netz ein. Und schau bei
oh-my-zsh vorbei.

> Aber die aktuelle Version von bash könnte man:
> a) Selbst kompilieren
> b) Über Paketmanager, wie MacPorts, Homebrew, Fink, installieren.


Die von zsh auch.

> Was zukünftig irgendwie erschwerend hinzukommt, Ruby, Python und Perl
> werden vermutlich ab macOS 10.16 auch nicht mitgeliefert.
> <https://www.heise.de/mac-and-i/meldung/Apple-will-bestimmte-Skriptsprachen-aus-macOS-entfernen-4441552.html>


Wo ist denn da das Problem?! MacPorts?

> Will sich Apple, auf längere Sicht gesehen, vom OpenSource Unterbau
> verabschieden?


Apple will Autos bauen.

B. Alabay
Fritz (10.06.2019, 13:57)
Am 10.06.19 um 11:59 schrieb Ba?ar Alabay:
> Günther Dietrich schrieb:
> Ist die zsh nicht eh um einiges mächtiger als die bash? Mit oh-my-zsh
> macht es dann so richtig Spaß:-)


Ich habe mir die Themes & Plugins von oh-y-zsh angesehen
<https://ohmyz.sh/>
<https://www.howtoforge.com/tutorial/how-to-setup-zsh-and-oh-my-zsh-on-linux/>

(& weiterführend)
und sage nun 'oh-zuwas-brauche-ich-das-alles?' ;-)))

Mein Thema ist weißer Hintergrund / schwarze Schrift / 150 x 50

> Ich hatte schon vor Jahren auf die zsh umgestellt, und zwar eine
> aktuelle via MacPorts. Den Grund habe ich schon längst vergessen.
> Irgendwas war es. Ich bilde mir außerdem ein, daß es ab 2000/2001 eh
> appleseitig einen Shellwechsel gab, der mich etwas nervte. Aber auch das
> ist ja nun schon etwas länger her ? der war womöglich so 2003/2004?


Im Linux Bereich erfährt man mehr
<https://www.grund-wissen.de/linux/shell/zsh.html>

ElCapitan beinhaltet:
$ bash --version
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin15)
Copyright (C) 2007 Free Software Foundation, Inc.

% zsh --version
zsh 5.0.8 (x86_64-apple-darwin15.0)

MacPorts Portfiles aktuell zum heutigen Datum:
bash 5.0.7 (source)
zsh 5.7.1 (source)

Ich habe nun Beide per MacPorts installiert, bei der Versionsabfrage
schummeln sich beide von /opt/local/bin vor, da dieser Pfad in Path
eingetragen ist.

Die Meldung nach der zsh Installation:

Some of the ports you installed have notes:
zsh has the following notes:
To set MacPorts' zsh as default login shell, run:

sudo chpass -s '/opt/local/bin/zsh' $USER

To be able to switch default shells to or from zsh without
superuser privileges, add it to /etc/shells:

sudo sh -c 'echo /opt/local/bin/zsh >>/etc/shells'

In /etc/shells
-------
/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
-------

Können hier jeweils gleiche Shells aber mit verschiedenen
Versionen/Pfaden eingetragen werden?
Fritz (10.06.2019, 14:09)
Am 10.06.19 um 11:59 schrieb Ba?ar Alabay:
> Günther Dietrich schrieb:
> Ist die zsh nicht eh um einiges mächtiger als die bash? Mit oh-my-zsh
> macht es dann so richtig Spaß:-)


Ich habe mir die Themes & Plugins von oh-y-zsh angesehen
<https://ohmyz.sh/>
<https://www.howtoforge.com/tutorial/how-to-setup-zsh-and-oh-my-zsh-on-linux/>

(& weiterführend)
und sage nun 'oh-zuwas-brauche-ich-das-alles?' ;-)))

Mein Thema ist weißer Hintergrund / schwarze Schrift / 150 x 50

> Ich hatte schon vor Jahren auf die zsh umgestellt, und zwar eine
> aktuelle via MacPorts. Den Grund habe ich schon längst vergessen.
> Irgendwas war es. Ich bilde mir außerdem ein, daß es ab 2000/2001 eh
> appleseitig einen Shellwechsel gab, der mich etwas nervte. Aber auch das
> ist ja nun schon etwas länger her ? der war womöglich so 2003/2004?


Im Linux Bereich erfährt man mehr
<https://www.grund-wissen.de/linux/shell/zsh.html>

ElCapitan beinhaltet:
$ bash --version
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin15)
Copyright (C) 2007 Free Software Foundation, Inc.

% zsh --version
zsh 5.0.8 (x86_64-apple-darwin15.0)

MacPorts Portfiles aktuell zum heutigen Datum:
bash 5.0.7 (source)
zsh 5.7.1 (source)

Ich habe nun Beide per MacPorts installiert, bei der Versionsabfrage
schummeln sich beide von /opt/local/bin vor, da dieser Pfad in Path
eingetragen ist.

Die Meldung nach der zsh Installation:

Some of the ports you installed have notes:
zsh has the following notes:
To set MacPorts' zsh as default login shell, run:

sudo chpass -s '/opt/local/bin/zsh' $USER

To be able to switch default shells to or from zsh without
superuser privileges, add it to /etc/shells:

sudo sh -c 'echo /opt/local/bin/zsh >>/etc/shells'

In /etc/shells
-------
/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
-------

Können hier jeweils gleiche Shells aber mit verschiedenen
Versionen/Pfaden eingetragen werden?

Nachtrag:
Das habe ich noch zum Thema gefunden:
<https://kushellig.de/shell-bash-vs-zsh/>
Marcus Jodorf (12.06.2019, 00:27)
Ralph Aichinger <ra> schrieb:

> Allerdings installieren die sowieso alle Homebrew oder was in der
> Art und die Defaultshell ist weniger wichtig für die.


Wenn man nicht gerade speziell für die Platform entwickelt, ist das OS
heute sogar nicht selten relativ wurscht. Weil oft zieht man sich erst
mal mit Vagrant o. ä. eine definierte Entwicklungsumgebung in VMs hoch.
Das hilft gegen das ?it works on my laptop (but not in production)?
Problem.

Das macht man nicht selten auch für dieselbe Platform, um eben eine
saubere, genau definierte Basis jederzeit reproduzierbar auf Knopfdruck
zu haben statt eben einer womöglich verbastelten Entwicklerkiste - aber
ist mit OS X selber als Gast nat. eher schwierig (dagegen mit Windows
und Linux einfach).

Mir ist das im Prinzip auch wurscht, ob ich meine Developer-VMs nun
unter OS X anwerfe oder unter Linux.
Der einzige Unterschied ist, daß ich abseits Mac viel mehr Bums fürs
Geld bekomme und viel besseren Kundendienst für die Hardware - einzig
das Ganze ist dann vielleicht nicht ganz so hübsch verpackt (dafür hat
man vernünftige Schnittstellen, vernünftige Tastatur bei Laptops, usw.).

So oder so zieht es mir, während ich einen Kaffee hole, auf Knopfdruck
eine Kopie bzw. einen Ausschnitt meiner Produktivumgebung in genau
definiertem Zustand jederzeit frisch hoch und das Host-OS spielt da im
Grunde keine große Rolle mehr. Mich interessiert da dann auch mehr die
Shell in der VM als die im System auf der eigentlichen Hardware.

So arbeitet natürlich nicht unbedingt jeder - aber in diversen Bereichen
ist das nicht unüblich.

Gruß,

Marcus
??
Fritz (12.06.2019, 16:23)
Am 10.06.19 um 12:00 schrieb Ba?ar Alabay:
> Fritz schrieb:
> Ich denke nicht, dß Dir das hier jemand beantworten kann/will. Die zsh
> ist schon ein Ding für sich. Lies Dich im Netz ein. Und schau bei
> oh-my-zsh vorbei.
> Die von zsh auch.
> Wo ist denn da das Problem?! MacPorts?


I know about! :-))

Bei mir läuft schon seit langen ein eigener DNSSEC - nun BIND named -
über MacPorts installiert. Auch der Usenetreader Pan, gnupg, etc.
Was Ruby, Python und Perl betrifft, so installiert MacPorts da Einiges
ganz von selbst mit.

Ich habe nun auch zsh und bash per Macports installiert, aber meine
Terminals mal auf Mac eigenen zsh umgestellt.

Was mir bei zsh fehlt ist die Userangabe, nach einem su 'meinadmin'.
Gut wäre zu sehen mit welchem User man da immer unterwegs ist.
Fritz (12.06.2019, 17:19)
Am 10.06.19 um 12:00 schrieb Ba?ar Alabay:
> Fritz schrieb:
> Ich denke nicht, dß Dir das hier jemand beantworten kann/will. Die zsh
> ist schon ein Ding für sich. Lies Dich im Netz ein. Und schau bei
> oh-my-zsh vorbei.
> Die von zsh auch.
> Wo ist denn da das Problem?! MacPorts?


I know about! :-))

Bei mir läuft schon seit langen ein eigener DNSSEC - nun BIND named -
über MacPorts installiert. Auch der Usenetreader Pan, gnupg, etc.
Was Ruby, Python und Perl betrifft, so installiert MacPorts da Einiges
ganz von selbst mit.

Ich habe nun auch zsh und bash per Macports installiert, aber meine
Terminals mal auf Mac eigenen zsh umgestellt.

Was mir bei zsh fehlt ist die Userangabe, nach einem su 'meinadmin'.
Gut wäre zu sehen mit welchem User man da immer unterwegs ist - ich weiß
mit whoami kann man das abrufen.
André Berger (13.06.2019, 06:49)
* Fritz (2019-06-12, 17:19):
> Am 10.06.19 um 12:00 schrieb Ba?ar Alabay:
> > Fritz schrieb: [...]

> Was mir bei zsh fehlt ist die Userangabe, nach einem su 'meinadmin'.
> Gut wäre zu sehen mit welchem User man da immer unterwegs ist - ich weiß mit
> whoami kann man das abrufen.


export PS1="%n@%m:%~%# "

der ~/.zshrc hinzufügen

<http://zsh.sourceforge.net/Doc/Release/Prompt-Expansion.html>

-André
Marc Stibane (13.06.2019, 10:04)
Ba?ar Alabay <alabay> wrote:

> Ich bilde mir außerdem ein, daß es ab 2000/2001 eh
> appleseitig einen Shellwechsel gab, der mich etwas nervte. Aber auch das
> ist ja nun schon etwas länger her ? der war womöglich so 2003/2004?


Jupp, vor der bash gab es die tcsh...

Ähnliche Themen