Welche Shell sollte ich für FreeBSD und Debian lernen?

Welche Shell sollte ich für FreeBSD und Debian lernen?

Ich habe viele Artikel gelesen, in denen steht, dass die offizielle Shell in FreeBSD tcshund in Debian ist dash. Wenn ich jedoch entweder echo $shell(FreeBSD) oder envin Debian verwende, heißt es, dass die Shell cshim ersten Fall oder bashin Debian ist.

Dies ist bei Neuinstallationen der Fall. Ich habe es unter dem Root-Konto und einem normalen Benutzerkonto getestet. Wenn ich in FreeBSD ein neues Konto erstelle, habe ich außerdem die Wahl zwischen 3 Shells: sh, cshoder tcsh. Wenn ich keine Auswahl treffe, cshist die Standardeinstellung für das Konto.

Was ist die offizielle Standard-Shell unter diesen Systemen? Ist sie tcshoder cshin FreeBSD? Ist sie dashoder bashin Debian?

Bin ich derjenige, der etwas falsch macht? Oder sind die Artikel und Websites falsch informiert?

Ich möchte zwei Shells lernen: eine für Debian und eine für FreeBSD, aber ich kann nicht herausfinden, welche ich lernen soll, da nicht klar ist, welche die offizielle Shell ist.

Als ich nach der Shell gesucht habe, die ich lernen sollte, habe ich Folgendes gefunden:http://www.faqs.org/faqs/unix-faq/shell/csh-whynot/ Ist es jemand, den wir einfach nicht mögen csh, oder sollten wir ihn wirklich meiden csh?

Ich verwende die neuesten Debian- und FreeBSD-Versionen.

Ich verliere langsam den Überblick bei all diesen Shell-Optionen, sie sehen für mich alle gleich aus (bis auf die Syntax; ich meine, sie scheinen alle die gleichen Möglichkeiten zu bieten). Deshalb möchte ich die offizielle Version lernen.

Antwort1

Sie müssen für ein bestimmtes System nicht unbedingt die Standard-Shell verwenden. Sowohl Debian als auch FreeBSD bieten eine Reihe verschiedener Shells, und die meisten oder alle davon sind auf beiden Systemen verfügbar, entweder vorinstalliert oder leicht zu installieren.

Achten Sie auf die Benennung. Es ist nicht ungewöhnlich, dass /bin/cshes sich bei tatsächlich um tcsh handelt oder dass /bin/shes sich bei bash oder ksh handelt.

sh, die Bourne-Shell, ist die älteste noch allgemein verwendete Unix-Shell. bashist wahrscheinlich das am weitesten verbreitete sh-Derivat; kshund zshist ebenfalls weit verbreitet.

csh, die C-Shell, wurde von Bill Joy für BSD entwickelt. Sie hat einige Funktionen, die die interaktive Nutzung komfortabler machen als sh(oder zumindest als die alte Version von , shdie es damals gab). tcshist von abgeleitet cshund fügt viele neue Funktionen hinzu, von denen die meisten auf die interaktive Nutzung ausgerichtet sind. Wie Sie beim Lesen voncsh.warumnicht, csh und tcsh weisen einige Probleme auf, wenn sie für Skripting statt für die interaktive Verwendung verwendet werden.

Ich persönlich habe mit csh angefangen und bin dann zu tcsh gewechselt, als es verfügbar wurde. Ich verwende csh jetzt nur noch selten zum Skripting und bevorzuge sh oder bash (oder Perl für alles einigermaßen Komplexe).

(Update, ein paar Jahre später: Ich habe tcsh inzwischen aufgegeben und verwende bash jetzt interaktiv.)

Ich würde Ihnen raten, eine einzige Shell auszuwählen, sie gründlich zu erlernen und sie sowohl unter FreeBSD als auch unter Debian zu verwenden. Wenn Sie sich für tcsh entscheiden, müssen Sie es unter Debian wahrscheinlich installieren: sudo apt-get install tcsh. Wenn Sie sich für bash entscheiden, weiß ich nicht, ob es unter FreeBSD vorinstalliert ist. Wenn nicht, sollte die Installation genauso einfach sein.

Es ist nicht erforderlich, für den interaktiven Einsatz und für die Skripterstellung dieselbe Shell zu verwenden, es kann jedoch Verwirrungen vorbeugen und die Lernkurve verkürzen.

ksh ist wahrscheinlich ungefähr so ​​leistungsfähig wie bash und zsh ist sogar noch leistungsfähiger (und hat viele Funktionen, für deren Erlernen ich mir nie die Zeit genommen habe).

Ich empfehle Bash, sowohl für FreeBSD als auch für Debian (und für alle anderen Unix-ähnlichen Systeme, die Sie verwenden könnten), und sowohl für die interaktive Nutzung als auch für Skripting. Aber auch andere Optionen sind vollkommen legitim und manche könnten für Sie besser geeignet sein.

verwandte Informationen