sh(1p): Skillnad mellan sidversioner

Från Wiki.linux.se -Linux wikipedia på Svenska.
Hoppa till navigering Hoppa till sök
(Omdirigerar till Sh)
Märke: Ny omdirigering
 
 
(5 mellanliggande sidversioner av samma användare visas inte)
Rad 1: Rad 1:
#REDIRECT [[Sh]]
= 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.