sh(1p): Skillnad mellan sidversioner
Admin (diskussion | bidrag) (Omdirigerar till Sh) Märke: Ny omdirigering |
Admin (diskussion | bidrag) |
||
| (5 mellanliggande sidversioner av samma användare visas inte) | |||
| Rad 1: | Rad 1: | ||
= sh(1p) – POSIX-skal = | |||
== PROLOG == | |||
Denna manualsida är en del av POSIX Programmer’s Manual. Linux-implementationer kan skilja sig från denna specifikation. | |||
== NAMN == | |||
'''sh''' — skal, standardtolk för kommandospråk | |||
== SYNOPSIS == | |||
<pre> | |||
sh [-abCefhimnuvx] [-o option]... [+abCefhimnuvx] [+o option]... | |||
[command_file [argument...]] | |||
sh -c [-abCefhimnuvx] [-o option]... | |||
command_string [command_name [argument...]] | |||
sh -s [-abCefhimnuvx] [-o option]... | |||
[argument...] | |||
</pre> | |||
== BESKRIVNING == | |||
'''sh''' är en kommandotolk som: | |||
* kör kommandon från: | |||
* kommandorad | |||
* standard input | |||
* fil | |||
* följer POSIX Shell Command Language (Kapitel 2) | |||
Egenskaper: | |||
* Filnamnsexpansion ska inte misslyckas p.g.a. filstorlek | |||
* Omdirigeringar har implementationsberoende begränsningar | |||
== FLAGGOR == | |||
=== Standardflaggor (från ''set'') === | |||
* '''-a -b -C -e -f -m -n -u -v -x''' | |||
* '''-o option''' | |||
Dessa kan även anges med '''+''' för motsatt beteende. | |||
=== Specifika flaggor === | |||
; '''-c''' | |||
: Kör kommandon från en sträng | |||
; '''-i''' | |||
: Interaktivt skal | |||
; '''-s''' | |||
: Läs från standard input | |||
== OPERANDER == | |||
; '''command_file''' | |||
: Fil med kommandon | |||
; '''command_string''' | |||
: Sträng som tolkas som kommandon | |||
; '''argument''' | |||
: Positionella parametrar ($1, $2, …) | |||
; '''-''' | |||
: Ignoreras om ensam | |||
== STDIN == | |||
Används när: | |||
* '''-s''' används | |||
* inga argument ges | |||
* kommandon kräver input | |||
Skalet får inte konsumera input som tillhör underprocesser. | |||
== INPUTFILER == | |||
* Textfiler | |||
* Obegränsad radlängd | |||
* Endast kommentarer → exit status 0 | |||
== MILJÖVARIABLER == | |||
Viktiga variabler: | |||
; '''ENV''' | |||
: Fil som körs vid interaktivt skal | |||
; '''PATH''' | |||
: Sökväg för kommandon | |||
; '''HOME''' | |||
: Hemkatalog | |||
; '''LANG''', '''LC_*''' | |||
: Lokalisering | |||
; '''HISTFILE''' | |||
: Historikfil | |||
; '''HISTSIZE''' | |||
: Antal sparade kommandon | |||
; '''MAIL''', '''MAILPATH''' | |||
: Mail-notifiering | |||
; '''PWD''' | |||
: Nuvarande katalog | |||
== ASYNKRONA HÄNDELSER == | |||
Signaler: | |||
* Interaktivt skal: | |||
* SIGINT fångas | |||
* SIGQUIT ignoreras | |||
* SIGTERM ignoreras | |||
* Kan ändras via: | |||
<pre> | |||
trap | |||
</pre> | |||
== STDOUT == | |||
Se STDERR | |||
== STDERR == | |||
Används för: | |||
* felmeddelanden | |||
== OUTPUTFILER == | |||
* Inga | |||
== UTFÖRLIG BESKRIVNING == | |||
=== Kommandohistorik === | |||
* Sparas i fil angiven av '''HISTFILE''' | |||
* Delas mellan skalinstanser | |||
=== Kommandoredigering (vi-läge) === | |||
Aktivera: | |||
<pre> | |||
set -o vi | |||
</pre> | |||
Lägen: | |||
* insert mode (standard) | |||
* command mode (via ESC) | |||
=== Insert mode (urval) === | |||
* Enter → kör kommando | |||
* Backspace → radera | |||
* Ctrl+W → radera ord | |||
* Ctrl+V → infoga bokstavligt tecken | |||
* ESC → command mode | |||
=== Command mode (urval) === | |||
Navigering: | |||
* '''h l''' – vänster/höger | |||
* '''w b''' – ord fram/bak | |||
* '''0 $''' – rad början/slut | |||
Redigering: | |||
* '''i a A''' – insert | |||
* '''x''' – radera tecken | |||
* '''dd''' – radera rad | |||
* '''yy''' – kopiera | |||
* '''p''' – klistra | |||
Historik: | |||
* '''k''' / '''j''' – upp/ned | |||
* '''/pattern''' – sök bakåt | |||
* '''?pattern''' – sök framåt | |||
== EXIT STATUS == | |||
{| class="wikitable" | |||
! Kod !! Betydelse | |||
|- | |||
| 0 || Endast tomma rader/kommentarer | |||
|- | |||
| 1–125 || Fel (syntax, redirection, etc.) | |||
|- | |||
| 126 || Kan inte exekvera fil | |||
|- | |||
| 127 || Fil hittades inte | |||
|} | |||
Annars returneras senaste kommandots status. | |||
== FELHANTERING == | |||
Se POSIX avsnitt 2.8.1 | |||
== ANVÄNDNING == | |||
Exempel: | |||
<pre> | |||
sh -c "cat file" | |||
</pre> | |||
<pre> | |||
sh script.sh | |||
</pre> | |||
Tips: | |||
* Använd: | |||
<pre> | |||
command -v sh | |||
</pre> | |||
för att hitta korrekt sökväg | |||
== EXEMPEL == | |||
1. Kör kommando: | |||
<pre> | |||
sh -c "ls -l" | |||
</pre> | |||
2. Kör skript: | |||
<pre> | |||
sh script.sh | |||
</pre> | |||
== RATIONALE == | |||
* Delar flaggor med '''set''' | |||
* Historik och IFS påverkar optimering | |||
* vi-läge valdes över emacs-läge (standardisering) | |||
== FRAMTIDA ÄNDRINGAR == | |||
Inga planerade | |||
== SE ÄVEN == | |||
* [[cd(1p)]] | |||
* [[echo(1p)]] | |||
* [[exit(1p)]] | |||
* [[set(1p)]] | |||
* [[trap(1p)]] | |||
* [[vi(1p)]] | |||
== COPYRIGHT == | |||
POSIX.1-2017 (IEEE / The Open Group) | |||
= Sidslut = | |||
Det här är en maskinöversättning av linux kommando manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på | |||
https://www.linux.se/kontaka-linux-se/ | |||
<BR><BR>Tack till [https://datorhjalp.se Datorhjälp] som har sponsrat Linux.se med webserver. | |||
Nuvarande version från 12 april 2026 kl. 03.07
sh(1p) – POSIX-skal
PROLOG
Denna manualsida är en del av POSIX Programmer’s Manual. Linux-implementationer kan skilja sig från denna specifikation.
NAMN
sh — skal, standardtolk för kommandospråk
SYNOPSIS
sh [-abCefhimnuvx] [-o option]... [+abCefhimnuvx] [+o option]...
[command_file [argument...]]
sh -c [-abCefhimnuvx] [-o option]...
command_string [command_name [argument...]]
sh -s [-abCefhimnuvx] [-o option]...
[argument...]
BESKRIVNING
sh är en kommandotolk som:
- kör kommandon från:
- kommandorad
- standard input
- fil
- följer POSIX Shell Command Language (Kapitel 2)
Egenskaper:
- Filnamnsexpansion ska inte misslyckas p.g.a. filstorlek
- Omdirigeringar har implementationsberoende begränsningar
FLAGGOR
Standardflaggor (från set)
- -a -b -C -e -f -m -n -u -v -x
- -o option
Dessa kan även anges med + för motsatt beteende.
Specifika flaggor
- -c
- Kör kommandon från en sträng
- -i
- Interaktivt skal
- -s
- Läs från standard input
OPERANDER
- command_file
- Fil med kommandon
- command_string
- Sträng som tolkas som kommandon
- argument
- Positionella parametrar ($1, $2, …)
- -
- Ignoreras om ensam
STDIN
Används när:
- -s används
- inga argument ges
- kommandon kräver input
Skalet får inte konsumera input som tillhör underprocesser.
INPUTFILER
- Textfiler
- Obegränsad radlängd
- Endast kommentarer → exit status 0
MILJÖVARIABLER
Viktiga variabler:
- ENV
- Fil som körs vid interaktivt skal
- PATH
- Sökväg för kommandon
- HOME
- Hemkatalog
- LANG, LC_*
- Lokalisering
- HISTFILE
- Historikfil
- HISTSIZE
- Antal sparade kommandon
- MAIL, MAILPATH
- Mail-notifiering
- PWD
- Nuvarande katalog
ASYNKRONA HÄNDELSER
Signaler:
- Interaktivt skal:
* SIGINT fångas * SIGQUIT ignoreras * SIGTERM ignoreras
- Kan ändras via:
trap
STDOUT
Se STDERR
STDERR
Används för:
- felmeddelanden
OUTPUTFILER
- Inga
UTFÖRLIG BESKRIVNING
Kommandohistorik
- Sparas i fil angiven av HISTFILE
- Delas mellan skalinstanser
Kommandoredigering (vi-läge)
Aktivera:
set -o vi
Lägen:
- insert mode (standard)
- command mode (via ESC)
Insert mode (urval)
- Enter → kör kommando
- Backspace → radera
- Ctrl+W → radera ord
- Ctrl+V → infoga bokstavligt tecken
- ESC → command mode
Command mode (urval)
Navigering:
- h l – vänster/höger
- w b – ord fram/bak
- 0 $ – rad början/slut
Redigering:
- i a A – insert
- x – radera tecken
- dd – radera rad
- yy – kopiera
- p – klistra
Historik:
- k / j – upp/ned
- /pattern – sök bakåt
- ?pattern – sök framåt
EXIT STATUS
| Kod | Betydelse |
|---|---|
| 0 | Endast tomma rader/kommentarer |
| 1–125 | Fel (syntax, redirection, etc.) |
| 126 | Kan inte exekvera fil |
| 127 | Fil hittades inte |
Annars returneras senaste kommandots status.
FELHANTERING
Se POSIX avsnitt 2.8.1
ANVÄNDNING
Exempel:
sh -c "cat file"
sh script.sh
Tips:
- Använd:
command -v sh
för att hitta korrekt sökväg
EXEMPEL
1. Kör kommando:
sh -c "ls -l"
2. Kör skript:
sh script.sh
RATIONALE
- Delar flaggor med set
- Historik och IFS påverkar optimering
- vi-läge valdes över emacs-läge (standardisering)
FRAMTIDA ÄNDRINGAR
Inga planerade
SE ÄVEN
COPYRIGHT
POSIX.1-2017 (IEEE / The Open Group)
Sidslut
Det här är en maskinöversättning av linux kommando manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på
https://www.linux.se/kontaka-linux-se/
Tack till Datorhjälp som har sponsrat Linux.se med webserver.