GNU/Linux >> Znalost Linux >  >> Debian

Který Shell bych se měl naučit pro Freebsd a Debian?

Četl jsem mnoho článků, které říkají, že oficiální shell ve FreeBSD je tcsh a v Debianu jeho dash . Když však buď echo $shell (FreeBSD) nebo env v Debianu to říká, že shell je csh v prvním případě nebo bash v Debianu.

To je v čerstvých instalacích. Testoval jsem pod účtem root a normálním uživatelským účtem. Také, když vytvořím nový účet ve FreeBSD, mám na výběr ze 3 shellů; sh , csh nebo tcsh . Pokud neudělám žádnou volbu, csh je výchozí pro účet.

Jaký je oficiální standardní shell v těchto systémech? Je to tcsh nebo csh ve FreeBSD? Je to dash nebo bash v Debianu?

Dělám něco špatně já? Nebo jsou články a stránky dezinformovány?

Chci se naučit dva shelly:jeden pro Debian a jeden pro FreeBSD, ale nemůžu najít, který bych se měl naučit, protože není jasné, který je oficiální shell.

Také, když jsem hledal, který shell bych se měl naučit, našel jsem toto:http://www.faqs.org/faqs/unix-faq/shell/csh-whynot/
Je to někdo, kdo prostě nemá rád csh , nebo bychom se měli opravdu vyhnout csh ?

Používám nejnovější verze Debianu a FreeBSD.

Začínám se ztrácet se všemi těmito možnostmi shellu, všechny mi připadají stejné (kromě syntaxe; chci říct, že všechny nabízejí stejné možnosti). Proto se chci naučit ten oficiální.

Přijatá odpověď:

Není vůbec potřeba, abyste používali výchozí shell pro daný systém. Debian i FreeBSD poskytují řadu různých shellů a většina nebo všechny z nich jsou dostupné v obou, buď předinstalované, nebo snadno instalovatelné.

Pozor na pojmenování. Pro /bin/csh to není neobvyklé být skutečně tcsh, nebo pro /bin/sh být bash nebo ksh.

sh , Bourne shell, je nejstarší unixový shell, který se stále běžně používá. bash je pravděpodobně nejpoužívanější derivát sh; ksh a zsh jsou také rozšířené.

csh , shell C, byl vyvinut pro BSD Billem Joyem. Má některé funkce, které umožňují pohodlnější interaktivní použití než sh (nebo alespoň než stará verze sh které v té době existovaly). tcsh je odvozeno z csh a přidává spoustu nových funkcí, z nichž většina je zaměřena na interaktivní použití. Jak jste viděli při čtení csh.whynot, csh a tcsh mají určité problémy, pokud jde o jejich použití pro skriptování na rozdíl od interaktivního.

Osobně jsem začal s csh a poté, když byl k dispozici, přešel na tcsh. Csh nyní používám ke skriptování jen zřídka, preferuji sh nebo bash (nebo Perl pro cokoliv přiměřeně složitého).

Související:Možnost -F pro ls?

(Aktualizace o několik let později:Od té doby jsem opustil tcsh a nyní používám bash interaktivně.)

Moje rada by byla vybrat si jeden shell a dobře se ho naučit, používat ho na FreeBSD i na Debianu. Pokud zvolíte tcsh, myslím, že jej budete muset nainstalovat na Debian:sudo apt-get install tcsh . Pokud zvolíte bash, nevím, zda je předinstalovaný na FreeBSD; pokud tomu tak není, mělo by být stejně snadné jej nainstalovat.

Není nutné používat stejný shell interaktivně a pro skriptování, ale může se vyhnout zmatkům a zkrátit dobu učení.

ksh je pravděpodobně stejně výkonný jako bash a zsh je ještě výkonnější (a má spoustu funkcí, které jsem si nikdy nenašel čas se naučit).

Doporučuji bash jak pro FreeBSD, tak pro Debian (a pro jakékoli jiné unixové systémy, které byste mohli používat), a pro interaktivní použití i skriptování. Ale jiné možnosti jsou naprosto legitimní a některé vám mohou vyhovovat lépe.


Debian
  1. Nainstalujte a nakonfigurujte DRDB pro síťovou replikaci souborového systému v Debianu 8

  2. Debian vs. Ubuntu pro serverové použití, který si vybrat

  3. Debian – získat nejnovější Gcc pro Debian?

  1. Konfigurace Yabootu a Debianu pro spouštění do přihlašovacího prostředí příkazového řádku?

  2. Freebsd – rozdíl mezi Re0 a Wlan0?

  3. Který Shell bych měl použít – Tcsh vs Bash?

  1. Debian vs Ubuntu:Které distro je pro vás nejlepší?

  2. Skript nastavení OpenVPN pro Debian a Ubuntu

  3. Jak nainstalovat ClamAV na Debian 9 a vyhledat zranitelnosti