User Tools

Site Tools


linuxbog:unix:shells-under-linux

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

linuxbog:unix:shells-under-linux [2026/11/13 12:47] – created - external edit 127.0.0.1linuxbog:unix:shells-under-linux [2026/11/14 10:22] (current) – smarken
Line 1: Line 1:
 ^ Linux – Friheden til at lære Unix: Version 1.8.20060212 – 2020-12-31 ^| ^ Linux – Friheden til at lære Unix: Version 1.8.20060212 – 2020-12-31 ^|
-| [[unix:terminalen|forrige]] | Kapitel 1. Linux i teksttilstand | [[unix:videre-med-shells|næste]] |+| [[terminalen|forrige]] | Kapitel 1. Linux i teksttilstand | [[videre-med-shells|næste]] |
  
 ---- ----
Line 10: Line 10:
  Man kan se hvilke godkendte kommandofortolkere som findes på systemet i filen/etc/shells. Hvis man efterinstallerer en kommandofortolker på systemet, er det vigtigt at man husker at føje den fulde sti til den nye kommandofortolker til/etc/shells, da de brugere der vil bruge den kommandofortolker ellers kan få problemer.  Man kan se hvilke godkendte kommandofortolkere som findes på systemet i filen/etc/shells. Hvis man efterinstallerer en kommandofortolker på systemet, er det vigtigt at man husker at føje den fulde sti til den nye kommandofortolker til/etc/shells, da de brugere der vil bruge den kommandofortolker ellers kan få problemer.
  
- På en SuSE-maskine kan/etc/shellsse ud som følger – om de alle rent faktisk er installerede er ikke garanteret. Oftest følger alle med Linux-distributionerne.+ På en SuSE-maskine kan/etc/shells se ud som følger – om de alle rent faktisk er installerede er ikke garanteret. Oftest følger alle med Linux-distributionerne.
  
 <code>[tyge@hven ~]$cat /etc/shells/bin/ash <code>[tyge@hven ~]$cat /etc/shells/bin/ash
Line 33: Line 33:
  Man kan afprøve en kommandofortolker ved simpelt hen at starte den som ethvert andet program:  Man kan afprøve en kommandofortolker ved simpelt hen at starte den som ethvert andet program:
  
-<code>[tyge@hven ~]$zshhven%</code>+<code>[tyge@hven ~]$zsh 
 +hven% 
 +</code>
  
-Man kan (i princippet) altid stoppe en kommandofortolker med tastetrykket Ctrl-D, der signalerer at der ikke er flere data til programmet:<code>hven%<Ctrl-D>[tyge@hven ~]$</code>+Man kan (i princippet) altid stoppe en kommandofortolker med tastetrykket Ctrl-D, der signalerer at der ikke er flere data til programmet: 
 +<code>hven%<Ctrl-D> 
 +[tyge@hven ~]$ 
 +</code>
  
 Bemærk at de forskellige kommandofortolkeres kommandolinjer almindeligvis ser forskellige ud, så det er enkelt at se lige netop hvilken kommandofortolker man bruger. Men man kan selv justere kommandolinjens udseende, så den giver de oplysninger man har brug for. Man vælger sin standard-kommandofortolker med programmet **chsh** (kort for " //ch// ange //sh// ell"): Bemærk at de forskellige kommandofortolkeres kommandolinjer almindeligvis ser forskellige ud, så det er enkelt at se lige netop hvilken kommandofortolker man bruger. Men man kan selv justere kommandolinjens udseende, så den giver de oplysninger man har brug for. Man vælger sin standard-kommandofortolker med programmet **chsh** (kort for " //ch// ange //sh// ell"):
  
-<code>[tyge@hven ~]$chsh -s /bin/zshChanging login shell for tyge. +<code> 
-Password:din adgangskode skrives herShell changed.</code>+[tyge@hven ~]$chsh -s /bin/zsh 
 +Changing login shell for tyge. 
 +Password:din adgangskode skrives her 
 +Shell changed. 
 +</code>
  
-(det kan godt ske at teksten er på dansk). Ændringen træder i kraft næste gang du logger ind på maskinen.=== 1.3.1. GNU Bourne Again Shell (bash) ===+(det kan godt ske at teksten er på dansk). Ændringen træder i kraft næste gang du logger ind på maskinen. 
 + 
 +=== 1.3.1. GNU Bourne Again Shell (bash) ===
  
  Bash er den klart mest populære kommandofortolker i linux-verdenen. Det er ikke en tilfældighed, da den er forvalgt som kommandofortolker for nye brugere på de fleste linux-systemer, og da den er ret tæt på at have den syntaks som Unix-standarden specificerer for kommandofortolkere.  Bash er den klart mest populære kommandofortolker i linux-verdenen. Det er ikke en tilfældighed, da den er forvalgt som kommandofortolker for nye brugere på de fleste linux-systemer, og da den er ret tæt på at have den syntaks som Unix-standarden specificerer for kommandofortolkere.
  
- Ved login læses filen~/.bash_profile(eller~/bash_logineller~/.profile), og hver gang et terminalvindue startes vil filen~/.bashrcblive læst og udført. Endelig er det muligt at få filen~/.bash_logoutudført når man stopper en kommandofortolker – her er det muligt at indlægge kommandoer som rydder op etc.+ Ved login læses filen ~/.bash_profile (eller~/bash_logineller~/.profile), og hver gang et terminalvindue startes vil filen ~/.bashrc blive læst og udført. Endelig er det muligt at få filen ~/.bash_logout udført når man stopper en kommandofortolker – her er det muligt at indlægge kommandoer som rydder op etc.
  
  Bash udmærker sig dels ved at være kompatibel med den gamle unix-kommandofortolker, **sh** , men i høj grad på dens rigdom på både programmeringmuligheder og til en vis grad også på dens funktioner som interaktiv kommandofortolker.  Bash udmærker sig dels ved at være kompatibel med den gamle unix-kommandofortolker, **sh** , men i høj grad på dens rigdom på både programmeringmuligheder og til en vis grad også på dens funktioner som interaktiv kommandofortolker.
Line 54: Line 65:
  Med tabulator-tasten kan man få ekspanderet fil/katalog-navne svarende til den begyndelse af navnet man skriver. Man kan således med **cat /e<tabulator>/sh<tabulator>** få ekspanderet sig til **cat /etc/shells** uden at få skrevet ret meget.  Med tabulator-tasten kan man få ekspanderet fil/katalog-navne svarende til den begyndelse af navnet man skriver. Man kan således med **cat /e<tabulator>/sh<tabulator>** få ekspanderet sig til **cat /etc/shells** uden at få skrevet ret meget.
  
- Aliaser er nemme at sætte op i Bash. Opret filen~/.aliasog indskriv aliaser efter skemaetalias ALIAS-navn="kommando". Hvis man senere vil se hvilke aliaser man anvender kan **alias** vise dem alle.+ Aliaser er nemme at sætte op i Bash. Opret filen~/.aliasog indskriv aliaser efter skemaet alias ALIAS-navn="kommando". Hvis man senere vil se hvilke aliaser man anvender kan **alias** vise dem alle.
  
-<code>alias ll="ls -al" +<code> 
-alias sa="ssh-add ~/.ssh/id_dsa"</code>+alias ll="ls -al" 
 +alias sa="ssh-add ~/.ssh/id_dsa" 
 +</code>
  
  Kommandoprompten kan sættes nøjagtig efter egen smag efter et stort udbud af muligheder. I denne bog har vi valgt at få vist brugernavn (\u), maskinnavn (\h) og nuværende katalog (\w), men man kan nemt vælge om som vist nedenfor. Udseende af prompten ændres direkte ved at sætte variablenPS1. Her ændrer vi til at vise brugernavn (\u) og tidspunktet (\T).  Kommandoprompten kan sættes nøjagtig efter egen smag efter et stort udbud af muligheder. I denne bog har vi valgt at få vist brugernavn (\u), maskinnavn (\h) og nuværende katalog (\w), men man kan nemt vælge om som vist nedenfor. Udseende af prompten ændres direkte ved at sætte variablenPS1. Her ændrer vi til at vise brugernavn (\u) og tidspunktet (\T).
  
-<code>[tyge@hven ~]$echo $PS1[\u@\h:\w][tyge@hven ~]$export PS1="\u (\T):"tyge 10:01:12 :</code>+<code> 
 +[tyge@hven ~]$echo $PS1[\u@\h:\w][tyge@hven ~]$export PS1="\u (\T):"tyge 10:01:12 : 
 +</code>
  
- //Tip:// Vil du have farver på din promt, så læs[http://www-106.ibm.com/developerworks/linux/library/l-tip-prompt/|http://www-106.ibm.com/developerworks/linux/library/l-tip-prompt/].+ //Tip:// Vil du have farver på din promt, så læs [[http://www-106.ibm.com/developerworks/linux/library/l-tip-prompt/|http://www-106.ibm.com/developerworks/linux/library/l-tip-prompt/]].
  
 == 1.3.1.1. Fiduser til mere effektiv brug af Bash == == 1.3.1.1. Fiduser til mere effektiv brug af Bash ==
Line 73: Line 88:
  Hvis du skriver  Hvis du skriver
  
-<code>[tyge@hven ~]$tou<TAB> sikke_et_langt_filnavn</code>+<code> 
 +[tyge@hven ~]$tou<TAB> sikke_et_langt_filnavn 
 +</code>
  
-skulle det gerne blive til<code>[tyge@hven ~]$touch sikke_et_langt_filnavn</code>+skulle det gerne blive til 
 +<code> 
 +[tyge@hven ~]$touch sikke_et_langt_filnavn 
 +</code>
  
 idet der ikke er andre kommandoer, der begynder med 'tou'<code>[tyge@hven ~]$rm sik<TAB></code> idet der ikke er andre kommandoer, der begynder med 'tou'<code>[tyge@hven ~]$rm sik<TAB></code>
  
- Det fungerer i øvrigt ved, at kommandofortolkeren i første "ord" leder efter en kommando eller et program den kender gennem systemvariablenPATHeller i den sti, som angives foran selve kommandoen. Efter kommandoen ledes der efter filnavne i det angivne bibliotek.+ Det fungerer i øvrigt ved, at kommandofortolkeren i første "ord" leder efter en kommando eller et program den kender gennem systemvariablen PATH eller i den sti, som angives foran selve kommandoen. Efter kommandoen ledes der efter filnavne i det angivne bibliotek.
  
 === 1.3.2. Csh === === 1.3.2. Csh ===
Line 89: Line 109:
  Tcsh er en af de meget populære kommandofortolkere i unix-verdenen, da den giver stort set alle de samme muligheder som bash (omend med en anden syntaks), er bagudkompatibel med den aldrende csh-kommandofortolker, og har en lidt mere raffineret kommando- og filnavnsekspansionsfunktion, som man som bruger selv kan indstille så det kun er de relevante filer der bliver foreslået. Et eksempel:  Tcsh er en af de meget populære kommandofortolkere i unix-verdenen, da den giver stort set alle de samme muligheder som bash (omend med en anden syntaks), er bagudkompatibel med den aldrende csh-kommandofortolker, og har en lidt mere raffineret kommando- og filnavnsekspansionsfunktion, som man som bruger selv kan indstille så det kun er de relevante filer der bliver foreslået. Et eksempel:
  
-<code>[tyge@hven ~]$lslinuxbog-unix.ps +<code> 
-linuxbog-unix-html.tar.gz[tyge@hven ~]$gv l<tab></code>+[tyge@hven ~]$lslinuxbog-unix.ps 
 +linuxbog-unix-html.tar.gz 
 +[tyge@hven ~]$gv l<tab></code>
  
 bliver til<code>linuxbog-unix.ps[tyge@hven ~]$gv linuxbog-unix.ps</code> bliver til<code>linuxbog-unix.ps[tyge@hven ~]$gv linuxbog-unix.ps</code>
Line 212: Line 234:
 ---- ----
  
-| [[unix:terminalen|forrige]] | [[unix:index|hjem]] | [[unix:videre-med-shells|næste]] | +| [[terminalen|forrige]] | [[index|hjem]] | [[videre-med-shells|næste]] | 
-| Terminalvinduer | [[unix:kommandofortolkere-linux|op]] | Læs videre om emnet |+| Terminalvinduer | [[kommandofortolkere-linux|op]] | Læs videre om emnet |
  
  
linuxbog/unix/shells-under-linux.txt · Last modified: by smarken

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki

Brug af AI : Al tekst kán være uddrag af AI genereret tekst og kan være fejlbehæftet.
AI kan lave fejl og det kan mennesker også, men al tekst er gennemgået af et menneske for fejl, og personlig bias kan være tilføjet.