Shell Unix

Et Unix-skall er et skall designet for operativsystemer Unix og Unix som gir tilgang til de interne operativsystemfunksjonene. Det har form av et kommandolinjegrensesnitt som er tilgjengelig fra konsollen eller en terminal . Brukeren utsteder kommandoer som en tekstoppføring som deretter kjøres av skallet. I forskjellige Microsoft Windows- operativsystemer er det analoge programmet command.com eller cmd.exe .

Unix- type operativsystemer har ofte et skall. Opprinnelig var kommandoen tolk standard var sh , som fødte mange varianter, inkludert csh , utvidet i tcsh eller ksh , eller rc ... Men i dag bash , inspirert av sh , ksh , og csh , er den mest populære skallet, selv om det er andre skalltolkere , for eksempel zsh eller ask .

Historien om Unix-skall

Det første skallet er Thompson-skallet  (i) dukket opp i 1971 med den første versjonen av Unix og skrevet av Ken Thompson , en av skaperne av Unix . Den ble erstattet av Bourne-skallet , skrevet av Stephen Bourne , i 1977 for Unix versjon 7 .

I 1978 opprettet Bill Joy , den gang student ved University of California i Berkeley , csh (C shell), en utvikling av skallet hvis syntaks var inspirert av C-språket. En mer moderne versjon av csh blir så gitt ut under navnet tcsh .

Den Korn shell (ksh) ble utgitt i 1983 av David Korn . Den er kompatibel med Bourne-skallet , tar over noen funksjoner i csh og legger til avanserte skriptfunksjoner som er tilgjengelige på mer avanserte språk som Perl .

Den Bourne-Again shell (bash) dukket opp i 1988. Den ble skrevet av Brian Fox for Free Software Foundation som en del av GNU -prosjektet . Det er skallet på mange gratis implementeringer av Unix , for eksempel GNU / Linux-systemer . Den er kompatibel med Bourne-skallet som det er ment å være en gratis implementering av.

Paul Falstad grunnla zsh i 1990 mens han var student ved Princeton University . Dette skallet tar over de mest praktiske funksjonene til bash , csh , tcsh .

Skjell

Sammenlignende

Input / output management og omdirigering

Skjellene lar deg utføre viderekoblinger. En omdirigering omdirigerer inngangen eller utgangen til en kommando til en annen kommando eller fil.

Enkel rett frem

Syntaks:

commande > fichier

Resultatet av kommandosøknaden commandevil bli skrevet til filen fichierog overskrive det forrige innholdet.

Eksempel:

$: cat file Welcome $: echo "Hello world" > file $: cat file Hello world

Dobbel høyre omdirigering

Syntaks:

commande >> fichier

Resultatet av påkallingen av kommandoen commandevil bli skrevet til filen fichier, i henhold til allerede tilgjengelige data.

Eksempel:

$: cat file Welcome $: echo "Hello world" >> file $: cat file Welcome Hello world

Enkel omdirigering til venstre

Syntaks:

commande < fichier

Kommandoen commandevil lese innholdet i filen i fichierstedet for å lese på standardinngang (tastatur).

Eksempel:

$: cat < file Welcome

Dobbel venstre omdirigering

Syntaks:

commande << END

Kommandoen commandevil lese på standardinngang til ordet etter den dobbelte viderekoblingen oppstår.

Eksempel:

$: cat << TOTO ? foo ? bar ? moomoo ? TOTO foo bar moomoo

Rør

Syntaks:

commande_1 | commande_2

Resultatet av kommandoen commande_1blir omdirigert til inngangen til den andre kommandoen commande_2.

Eksempel:

$: echo "Hello world" | grep -o "Hello" Hello

Konfigurasjonsfil

sh ksh csh tcsh bash zsh
/etc/.login Logg Inn Logg Inn
/etc/csh.cshrc ja ja
/etc/csh.login Logg Inn Logg Inn
~ / .tcshrc ja
~ / .cshrc ja ja
~ / etc / ksh.kshrc int.
/etc/sh.shrc int.
$ ENV (vanligvis ~ / .kshrc) int. int. int.
~ / .login Logg Inn Logg Inn
~ / .logout Logg Inn Logg Inn
/ etc / profil Logg Inn Logg Inn Logg Inn Logg Inn
~ / .profil Logg Inn Logg Inn Logg Inn Logg Inn
~ / .bash_profile Logg Inn
~ / .bash_login Logg Inn
~ / .bash_logout Logg Inn
~ / .bashrc int. + n / pålogging
/ etc / zshenv ja
/ etc / zprofile Logg Inn
/ etc / zshrc int.
/ etc / zlogin Logg Inn
/ etc / zlogout Logg Inn
~ / .zshenv ja
~ / .zprofile Logg Inn
~ / .zshrc int.
~ / .zlogin Logg Inn

Merknader og referanser

Merknader

  1. bare hvis ~ / .tcshrc ikke ble funnet
  2. nyere versjoner av Bourne Shell
  3. Tilgjengelig på systemer som støtter alternativet "Brukerportabilitetsverktøy"; verdien av variabelen må være en absolutt bane, og den ignoreres "hvis brukerens virkelige og effektive bruker-ID-er eller reelle og effektive gruppe-ID-er er forskjellige."
  4. $ ENV er $ HOME / .shrc i nyere versjoner av Bourne Shell
  5. Samme oppførsel som sh , men bare hvis påkalt som sh (bash 2+) eller, siden bash 4.2, også hvis påkalt eksplisitt i POSIX-kompatibilitetsmodus (med opsjoner --posix eller -o posix ).
  6. Bare i sh / ksh-kompatibilitetsmodus (når påkalt som bash, sh, ksh)
  7. faktisk, den første lesbare av ~ / .bash_profile , ~ / .bash_login og ~ / .profile ; og bare ~ / .profil hvis påkalt som sh eller, som i det minste Bash 4.2, hvis påkalt eksplisitt i POSIX-kompatibilitetsmodus (med opsjoner --posix eller -o posix )

Referanser

  1. SCO Unix Group, SCO Unixware 7-dokumentasjon, 22. april 2004, hentet 18. oktober 2012 .
  2. (in) "  Shell Command Language  " , opengroup.org (åpnet 15. juni 2015 )
  3. (in) "  Bash Reference Manual: Bash Startup Files  " , gnu.org (åpnet 15. juni 2015 )

Se også

Relaterte artikler