/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
De forskellige shells
Fra : Martin Schultz


Dato : 22-11-02 15:33

På et normalt linux system kan man vælge mellem en hel del
forskellige shells. Fx. bash, tcsh og zsh. Er der nogen der
kunne oplyse mig om forskellende på disse? Er der nogen der
kan ting de andre ikke kan?

Martin

 
 
Claus Rasmussen (22-11-2002)
Kommentar
Fra : Claus Rasmussen


Dato : 22-11-02 15:47

Martin Schultz wrote:

> På et normalt linux system kan man vælge mellem en hel del
> forskellige shells. Fx. bash, tcsh og zsh. Er der nogen der
> kunne oplyse mig om forskellende på disse? Er der nogen der
> kan ting de andre ikke kan?

bash og zsh (og ksh og pdksh) hører til samme familie som sh. sh er
baseret på en POSIX standard og findes overalt i unix verdenen. bash
og venner har så lavet hver deres udvidelser til sh: bash ligner sh
mest og har kun få udvidelser. zsh har en række udvidelser til inter-
aktiv brug. ksh og pdksh (=public-domain-ksh) har en række udvidelser
mest beregnet på shell programmering.

tcsh hører til csh familien af shells, der er døende. Glem den.

Siden du spørger er du sikkert begynder, og så vil jeg anbefale bash.
Det meste af hvad du lærer at bruge bash til, kan du genbruge ligegyl-
digt hvilken unix-box, du en dag sidder ved. Desuden er der ikke meget
i bash som ikke findes i de andre shells i samme familie, så det er et
godt sted at starte.

-Claus


Lars Kongshøj (22-11-2002)
Kommentar
Fra : Lars Kongshøj


Dato : 22-11-02 15:54

Claus Rasmussen wrote:
> Siden du spørger er du sikkert begynder, og så vil jeg anbefale bash.
> Det meste af hvad du lærer at bruge bash til, kan du genbruge ligegyl-
> digt hvilken unix-box, du en dag sidder ved.

Det mest udbredte shell på kommercielle unix-maskiner er vist ksh, med
vi kommandolinie-redigering. Det synes jeg er klart bedst
understøttet/efterlignet i zsh.

> Desuden er der ikke meget
> i bash som ikke findes i de andre shells i samme familie, så det er et
> godt sted at starte.

Der er også rigtigt mange smarte features i zsh.

Jeg har nu primært valgt at bruge zsh på grund af ksh-kompatibiliteten.

--
Lars Kongshøj
http://www.kongshoj.com/

Martin Schultz (22-11-2002)
Kommentar
Fra : Martin Schultz


Dato : 22-11-02 16:15

Lars Kongshøj <lars_kongshoj@hotmail.com> writes:

> Der er også rigtigt mange smarte features i zsh.


Hvilke? har du nogen links?

Martin

Thomas Rasmussen (22-11-2002)
Kommentar
Fra : Thomas Rasmussen


Dato : 22-11-02 16:18

Martin Schultz <di020172@brok.diku.dk> writes:

> Lars Kongshøj <lars_kongshoj@hotmail.com> writes:
>
>> Der er også rigtigt mange smarte features i zsh.
>
>
> Hvilke? har du nogen links?

Dens meget meget avancerede tab-completion er guld værd... jeg kunne
ikke undvære tab-complete på hostnavne og lign. Desuden er den
forholdsvis dejlig at lave oneliners i, simpelt. Kig evt. på
http://www.zsh.org

Men den kan en hel masse som jeg ikke selv har fundet ud af (på trods
af at jeg har brugt den i en 3 år nu)

/Thomas

--
/"\ | Human Knowledge Belongs To The World
\ / | -- Milo Hoffman in "AntiTrust"
x |
/ \ <-- (ASCII Ribbon Campain against html emails and postings!)

Lars Kongshøj (22-11-2002)
Kommentar
Fra : Lars Kongshøj


Dato : 22-11-02 16:49

Martin Schultz wrote:
> Lars Kongshøj <lars_kongshoj@hotmail.com> writes:
> > Der er også rigtigt mange smarte features i zsh.
> Hvilke?

Completion er blevet nævnt. Selv bruger ofte =filnavn. Det svarer til at
skrive `which filnavn`, hvilket jeg jævnligt bruger til at læse/rette
scripts, men også andre ting.

> har du nogen links?

Ikke specielt, ud over man zsh.

--
Lars Kongshøj
http://www.kongshoj.com/

Claus Rasmussen (22-11-2002)
Kommentar
Fra : Claus Rasmussen


Dato : 22-11-02 17:17

Martin Schultz wrote:

> Lars Kongshøj <lars_kongshoj@hotmail.com> writes:
>
>> Der er også rigtigt mange smarte features i zsh.
>
> Hvilke? har du nogen links?

Der er nogle introduktionsartikler her:

http://www.linux-mag.com/2002-05/power_01.html
http://www.linux-mag.com/2002-06/power_01.html
http://www.linux-mag.com/2002-07/power_01.html

MVH
-Claus


Claus Rasmussen (22-11-2002)
Kommentar
Fra : Claus Rasmussen


Dato : 22-11-02 16:16

Lars Kongshøj wrote:

> Det mest udbredte shell på kommercielle unix-maskiner er vist ksh, med
> vi kommandolinie-redigering. Det synes jeg er klart bedst
> understøttet/efterlignet i zsh.

Den mest udbredte shell må næsten nødvendigvis være sh, da langt de fleste
unix-lignende operativsystemer også er POSIX compliant. Og det indebærer,
at der /skal/ være en sh på maskinen.

Men du har ret i, at ksh er meget udbredt. Den har (er?) imidlertid været
under en kommerciel licens, og open-source verdenen har derfor længe været
afskåret fra at benytte den (når der ses bort fra pdksh).

....

> Jeg har nu primært valgt at bruge zsh på grund af ksh-kompatibiliteten.

Hvorfor bruger du så ikke bare 'ksh' selv ? Hvilken box sidder du på ?

-Claus



Lars Kongshøj (22-11-2002)
Kommentar
Fra : Lars Kongshøj


Dato : 22-11-02 16:46

Claus Rasmussen wrote:
> Lars Kongshøj wrote:
> > Det mest udbredte shell på kommercielle unix-maskiner er vist ksh, med
> > vi kommandolinie-redigering. Det synes jeg er klart bedst
> > understøttet/efterlignet i zsh.
> Den mest udbredte shell må næsten nødvendigvis være sh, da langt de fleste
> unix-lignende operativsystemer også er POSIX compliant. Og det indebærer,
> at der /skal/ være en sh på maskinen.

Ja. I betydningen at der er flest filer kaldet sh. Det er dog ikke
ensbetydende med at den bliver brugt oftest.

> Men du har ret i, at ksh er meget udbredt. Den har (er?) imidlertid været
> under en kommerciel licens, og open-source verdenen har derfor længe været
> afskåret fra at benytte den (når der ses bort fra pdksh).

Jeg har ikke arbejdet på en kommerciel unix-maskine, hvor ksh ikke var
default shell for almindelige brugere. Derimod bruger root sh.

> > Jeg har nu primært valgt at bruge zsh på grund af ksh-kompatibiliteten.
> Hvorfor bruger du så ikke bare 'ksh' selv ? Hvilken box sidder du på ?

Har også installeret ksh for sjov på mine linux-maskiner der hjemme.

Men zsh har en uundværlig completion og ændre gode features.

På kommercielle unix-maskiner installerer jeg derfor også zsh, hvis jeg
har mulighed for det.

--
Lars Kongshøj
http://www.kongshoj.com/

Socketd (22-11-2002)
Kommentar
Fra : Socketd


Dato : 22-11-02 16:04

On Fri, 22 Nov 2002 15:46:34 +0100, Claus Rasmussen wrote:

> tcsh hører til csh familien af shells, der er døende. Glem den.

Døende? Vil du uddybe det med noget dokumentation?

br
socketd

Claus Rasmussen (22-11-2002)
Kommentar
Fra : Claus Rasmussen


Dato : 22-11-02 16:11

Socketd wrote:

> On Fri, 22 Nov 2002 15:46:34 +0100, Claus Rasmussen wrote:
>
>> tcsh hører til csh familien af shells, der er døende. Glem den.
>
> Døende? Vil du uddybe det med noget dokumentation?

Nej. For der findes ingen dokumentation.

Men til programmering er der vist ingen, der i dag anvender csh/tcsh. Og
til brug på kommandolinien har jeg kun set csh/tcsh anvendt af folk, der
er gamle nok til at have prøvet sh, før den blev POSIX standard (dvs. før
den også fik kommandolinieediteringsfaciliteter).

-Claus


Peter Dalgaard BSA (22-11-2002)
Kommentar
Fra : Peter Dalgaard BSA


Dato : 22-11-02 16:43

Claus Rasmussen <clr@cc-consult.dk> writes:

> Socketd wrote:
>
> > On Fri, 22 Nov 2002 15:46:34 +0100, Claus Rasmussen wrote:
> >
> >> tcsh hører til csh familien af shells, der er døende. Glem den.
> >
> > Døende? Vil du uddybe det med noget dokumentation?
>
> Nej. For der findes ingen dokumentation.
>
> Men til programmering er der vist ingen, der i dag anvender csh/tcsh. Og
> til brug på kommandolinien har jeg kun set csh/tcsh anvendt af folk, der
> er gamle nok til at have prøvet sh, før den blev POSIX standard (dvs. før
> den også fik kommandolinieediteringsfaciliteter).

Blander du ikke tingene sammen? POSIX siger mig bekendt ikke en dyt om
kommandolinjeredigering (og piletasterne virker da heller ikke i en
"ren" sh).

I gamle dage brugte folk csh fremfor sh fordi den havde "history"
mekanismen, (!a kørte sidste kommando der startede med a, osv. Findes
også i nyere shells, men er knap så benyttet), men stort set ikke i
scripts udover .login og .cshrc.

Da Internettet for alvor kom i gang omkring 1990 blev tcsh populær,
velsagtens fordi den havde piletaster og var tæt nok på csh til at man
kunne genbruge loginscripts mv.

Bash havde vist eksisteret et stykke tid uden den helt store succes,
men kom ind i Linux omkring 1992-93 som sh-erstatning (sh er AT+T
kode, ikke open source, og tcsh var svjh oprindelig en modificeret csh
der kun kunne distribueres binært). Bash havde tcsh's piletaster og,
hvad der er nok så vigtigt i længden: samme syntax som shellscripts.

Men inertiens lov er stærk: Vi har fx. indtil for meget nylig oprettet
nye brugere med tcsh, for at de kunne have samme omgivelser som de
gamle (og unge) rotter omkring dem. Vi regner med at skifte hele
afdelingen over til bash snart - jeg tror ikke at mange vil bemærke
forskellen...

--
O__ ---- Peter Dalgaard Blegdamsvej 3
c/ /'_ --- Dept. of Biostatistics 2200 Cph. N
(*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard@biostat.ku.dk) FAX: (+45) 35327907

Claus Rasmussen (22-11-2002)
Kommentar
Fra : Claus Rasmussen


Dato : 22-11-02 17:11

Peter Dalgaard BSA wrote:

> Blander du ikke tingene sammen? POSIX siger mig bekendt ikke en dyt om
> kommandolinjeredigering (og piletasterne virker da heller ikke i en
> "ren" sh).

Ææh... jeg er ikke /helt/ sikker, men jeg tror det hænger således sammen:
Der findes to udgaver af 'sh'. Den oprindelige, der ikke havde kommando-
linieredigering, og den nye POSIX 'sh', der i praksis er en nedgraderet
ksh.

På linux har 'sh' kommandolinieredigering. Det er faktisk bash, men minus
de få faciliteter i bash, der ikke er POSIX kompatible.

....

> Men inertiens lov er stærk: Vi har fx. indtil for meget nylig oprettet
> nye brugere med tcsh, for at de kunne have samme omgivelser som de
> gamle (og unge) rotter omkring dem. Vi regner med at skifte hele
> afdelingen over til bash snart - jeg tror ikke at mange vil bemærke
> forskellen...

Jeg anførte for nogle år siden en indædt kamp på daimi for bare at få et
alternativ til tcsh installeret på instituttets maskiner. Men NIX, ville
man have andet en tcsh, skulle man selv installere det. Tal om inertiens
magt

(jeg tror nu, at de er kommet til fornuft siden)

-Claus



Lars Kongshøj (22-11-2002)
Kommentar
Fra : Lars Kongshøj


Dato : 22-11-02 16:52

Claus Rasmussen wrote:
> Socketd wrote:
> > On Fri, 22 Nov 2002 15:46:34 +0100, Claus Rasmussen wrote:
> >> tcsh hører til csh familien af shells, der er døende. Glem den.
> > Døende? Vil du uddybe det med noget dokumentation?
> Nej. For der findes ingen dokumentation.

Det er også mit indtryk at csh's brugerskare er meget begrænset, og ikke
udvides. Men er den ikke default shell i en af BSD'erne?

> Men til programmering er der vist ingen, der i dag anvender csh/tcsh. Og
> til brug på kommandolinien har jeg kun set csh/tcsh anvendt af folk, der
> er gamle nok til at have prøvet sh, før den blev POSIX standard (dvs. før
> den også fik kommandolinieediteringsfaciliteter).

Det sker en meget sjælden gang, at man støder på en pakke, der kræver
csh ifm .oversættelse. Jeg kan kun lige komme på OpenOffice og vist også
den ældgamle xv.

--
Lars Kongshøj
http://www.kongshoj.com/

Daniel Nielsen (22-11-2002)
Kommentar
Fra : Daniel Nielsen


Dato : 22-11-02 20:53

On 22/11-02 16.52, Lars Kongshøj wrote:
> Claus Rasmussen wrote:
> > Socketd wrote:
> > > On Fri, 22 Nov 2002 15:46:34 +0100, Claus Rasmussen wrote:
> > >> tcsh hører til csh familien af shells, der er døende. Glem den.
> > > Døende? Vil du uddybe det med noget dokumentation?
> > Nej. For der findes ingen dokumentation.
>
> Det er også mit indtryk at csh's brugerskare er meget begrænset, og ikke
> udvides. Men er den ikke default shell i en af BSD'erne?

Jo, og dermed også Mac OS X... Dog leverer Apple også andre shells med.

[snip]

/Daniel
--
There are no great men, only great challenges that ordinary men are forced
by circumstances to meet.
      -- Admiral William Halsey

Socketd (22-11-2002)
Kommentar
Fra : Socketd


Dato : 22-11-02 17:03

On Fri, 22 Nov 2002 16:11:18 +0100, Claus Rasmussen wrote:

>> Døende? Vil du uddybe det med noget dokumentation?
>
> Nej. For der findes ingen dokumentation.
>
> Men til programmering er der vist ingen, der i dag anvender csh/tcsh. Og
> til brug på kommandolinien har jeg kun set csh/tcsh anvendt af folk, der
> er gamle nok til at have prøvet sh, før den blev POSIX standard (dvs.
> før den også fik kommandolinieediteringsfaciliteter).

At tcsh ikke bliver brugt til programmering (i forhold til bash) og at
antallet af brugere ikke er så sort som ved bash, betyder ikke at tsch er
en døende shell.

mvh
socketd

Martin Schultz (22-11-2002)
Kommentar
Fra : Martin Schultz


Dato : 22-11-02 16:13

Claus Rasmussen <clr@cc-consult.dk> writes:

> Siden du spørger er du sikkert begynder, og så vil jeg anbefale bash.

Jeg er nu ikke begynder men jeg har bare kørt tcsh siden jeg startede
og begyndte at spekulere på om jeg missede noget i de andre shells.

Martin

Claus Rasmussen (22-11-2002)
Kommentar
Fra : Claus Rasmussen


Dato : 22-11-02 16:21

Martin Schultz wrote:

> Jeg er nu ikke begynder men jeg har bare kørt tcsh siden jeg startede
> og begyndte at spekulere på om jeg missede noget i de andre shells.

I hvert fald med hensyn til programmering. Med hensyn til interaktiv brug
vinder du nok ikke meget, med mindre det er zsh, du skifter til.

-Claus


Jesper Harder (22-11-2002)
Kommentar
Fra : Jesper Harder


Dato : 22-11-02 18:11

Thomas Rasmussen <simpsons@kom.auc.dk> writes:

> Martin Schultz <di020172@brok.diku.dk> writes:
>
>> Lars Kongshøj <lars_kongshoj@hotmail.com> writes:
>>
>>> Der er også rigtigt mange smarte features i zsh.
>>
>> Hvilke? har du nogen links?
>
> Dens meget meget avancerede tab-completion er guld værd... jeg kunne
> ikke undvære tab-complete på hostnavne og lign.

Det kan Bash også.

Se <http://www.caliban.org/bash/index.shtml#completion>.

Søg
Reklame
Statistik
Spørgsmål : 177557
Tips : 31968
Nyheder : 719565
Indlæg : 6408871
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste