ash(1): Skillnad mellan sidversioner

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök
(Skapade sidan med '== NAMN == ash - kommandotolk (skal) för UNIX == SYNOPSIS == '''ash''' [flaggor] [skript [argument ...]] == BESKRIVNING == '''ash''' är systemets standardskal (POSIX-orienterat, liknar men är inte ksh) och kan köras interaktivt eller via skript. Vid interaktiv start (stdin är terminal eller med flaggan -i) hanteras promptar och fel annorlunda. Vid inloggning läses '''/etc/profile''' och '''~/.profile'''. Om variabeln '''ENV''' är satt läses den filen vid var...')
 
Ingen redigeringssammanfattning
 
Rad 6: Rad 6:


== BESKRIVNING ==
== BESKRIVNING ==
'''ash''' är systemets standardskal (POSIX-orienterat, liknar men är inte ksh) och kan köras interaktivt eller via skript.  
'''ash''' är ett lättvikts POSIX-kompatibelt skal som används som standardskal på vissa system.
Vid interaktiv start (stdin är terminal eller med flaggan -i) hanteras promptar och fel annorlunda.  
Det liknar '''ksh''' men är mindre och snabbare. Det kan köras interaktivt eller via skript.  
Vid inloggning läses '''/etc/profile''' och '''~/.profile'''.  
Vid interaktiv start (stdin är terminal eller flaggan -i används) hanteras promptar och fel annorlunda.  
Om variabeln '''ENV''' är satt läses den filen vid varje start.
Vid inloggning läses '''/etc/profile''' och '''~/.profile'''. Om variabeln '''ENV''' är satt läses den filen vid varje start.


Argument kan sätta positionella parametrar och flaggor.
== FLAGGOR ==
Vanliga flaggor:
{| class="wikitable"
  * '''-e''' (errexit) – avsluta vid fel
! Flagga !! Beskrivning
  * '''-u''' (nounset) – användning av odefinierad variabel är fel
|-
  * '''-x''' (xtrace) – visa kommandon vid exekvering
| -i || Interaktivt läge
  * '''-v''' (verbose) – visa inläst text
|-
  * '''-f''' (noglob) – inaktivera filnamnsexpansion
| -e || Avsluta vid fel (errexit)
  * '''-C''' (noclobber) – skydda befintliga filer mot >-redirection
|-
  * '''-n''' (noexec) – läs men exekvera inte kommandon
| -u || Odefinierad variabel är fel (nounset)
  * '''-m''' (jobbstyrning)
|-
  * '''-V'''/'''-E''' – vi/emacs-radredigering
| -x || Visa kommandon vid exekvering (xtrace)
|-
| -v || Visa inläst text (verbose)
|-
| -f || Inaktivera filnamnsgenerering (noglob)
|-
| -C || Skydda befintliga filer från att skrivas över med > (noclobber)
|-
| -n || Läs men exekvera inte kommandon (noexec)
|-
| -m || Aktivera jobbstyrning
|-
| -V || Aktivera vi-liknande radredigering
|-
| -E || Aktivera emacs-liknande radredigering
|}


Språket använder operatorer (&&, ||, |, ;, &, >, >>, <, <<, <<-, >&, <&) och citering (\, '…', "…"),
== RESERVERADE ORD ==
har reserverade ord (if/then/elif/else/fi, for/in/do/done, while/until, case/esac, { }) och stöd för alias.
{| class="wikitable"
! Ord !! Betydelse
|-
| if, then, elif, else, fi || Villkorssatser
|-
| for, in, do, done || Loopar över listor
|-
| while, until || Loopar baserat på villkor
|-
| case, esac || Mönstermatchning
|-
| {, } || Gruppkommandon
|-
| ! || Negera ett kommando eller en pipeline
|}


Kommandon tolkas som enkla eller komplexa, med omdirigeringar (inklusive här-dokument).  
== KOMMANDON ==
De söks först som funktion, sedan inbyggt, och sist via '''PATH'''.  
Kommandon kan vara enkla eller komplexa. Omdirigeringar (inklusive här-dokument) stöds.
Kommandon med / i namnet körs direkt.
Sökordning: funktion inbyggt kommando → sök i '''PATH'''.
Kommandon med "/" körs direkt.


Pipelines kopplar stdout→stdin och status hämtas från sista kommandot (negation med !).
== FUNKTIONER ==
'''&''' kör i bakgrund (stdin blir /dev/null i icke-interaktivt läge).  
Funktioner definieras med:
'''&&'''/'''||''' kortsluter baserat på exitstatus.
<pre>
namn () kommando
</pre>
'''local''' kan användas för att skapa lokala variabler.
'''return''' styr returvärde.


Grupper körs i underskal '''( … )''' eller i samma skal '''{ …; }'''.  
== VARIABLER ==
Funktioner definieras som '''namn () kommando''', '''local''' ger lokala variabler och '''return''' styr returvärde.
Positionella parametrar: $1 .. $9 
Specialparametrar: *, @, #, ?, $, !,


Skalet hanterar variabler (positionella $1..$9, specialparametrar *, @, #, ?, $, !, 0), expansioner (tilde, parameter, kommando, aritmetisk), fältsplittring (IFS), filnamnsgenerering (wildcards * ? []), samt mönster i case.
== EXPANSIONER ==
* Tildeexpansion
* Parameterexpansion
* Kommandoexpansion
* Aritmetisk expansion
 
== FILNAMNSGENERERING ==
* Jokertecken: * ? []
* Case-satser stöder mönster


== INBYGGDA KOMMANDON ==
== INBYGGDA KOMMANDON ==
: :, ., alias/unalias, bg/fg/jobs, cd, command, eval, exec, exit, export, getopts, hash, pwd, read, readonly, set/setvar/shift, times, trap, type, ulimit, umask, unset, wait
{| class="wikitable"
! Kommando !! Beskrivning
|-
| : || Gör ingenting, returnerar 0
|-
| . || Läs och kör ett skript i nuvarande skal
|-
| alias / unalias || Hantera alias
|-
| bg, fg, jobs || Jobbstyrning
|-
| cd || Byt katalog
|-
| command || Kör kommando utan alias/funktion
|-
| eval || Kör kommando efter expansion
|-
| exec || Ersätt skalet med kommando
|-
| exit || Avsluta skalet
|-
| export || Exportera variabler till miljön
|-
| getopts || Tolka kommandoradsflaggor
|-
| hash || Hantera hash-tabell för kommandon
|-
| pwd || Visa aktuell katalog
|-
| read || Läs en rad inmatning
|-
| readonly || Gör variabler skrivskyddade
|-
| set, setvar, shift || Hantera variabler och parametrar
|-
| times || Visa använd CPU-tid
|-
| trap || Fånga signaler
|-
| type || Visa hur kommandon tolkas
|-
| ulimit || Hantera resursbegränsningar
|-
| umask || Hantera standardrättigheter för filer
|-
| unset || Ta bort variabler
|-
| wait || Vänta på bakgrundsjobb
|}


== MILJÖVARIABLER ==
== MILJÖVARIABLER ==
: HOME, PATH, CDPATH, MAIL, MAILCHECK, MAILPATH, PS1, PS2, IFS, TERM, HISTSIZE
{| class="wikitable"
! Variabel !! Beskrivning
|-
| HOME || Standardhemdirektorium
|-
| PATH || Sökväg för kommandon
|-
| CDPATH || Sökväg för cd-kommandot
|-
| MAIL || Fil att kontrollera för e-post
|-
| MAILCHECK || Intervall (sekunder) för e-postkontroll
|-
| MAILPATH || Lista över e-postfiler
|-
| PS1 || Primär promptsträng
|-
| PS2 || Sekundär promptsträng
|-
| IFS || Fältskiljetecken
|-
| TERM || Terminaltyp
|-
| HISTSIZE || Storlek på kommandohistorik
|}


== FILER ==
== FILER ==
: ~/.profile, /etc/profile
* ~/.profile
* /etc/profile


== HISTORIK ==
== HISTORIK ==
sh fanns redan i AT&T UNIX v1 men ersattes i BSD.
'''sh''' fanns redan i AT&T UNIX version 1 men ersattes i BSD av andra skal.


== AVSLUTNINGSSTATUS ==
== AVSLUTNINGSSTATUS ==
0 vid framgång, ≠0 vid fel, syntaxfel stänger skalet.
0 vid framgång, ≠0 vid fel
Syntaxfel stänger skalet.


== FEL ==
== FEL ==
setuid-shellskript bör undvikas av säkerhetsskäl.
Setuid-shellskript bör undvikas av säkerhetsskäl.
 
== SE ÄVEN ==
[[sh(1)]], [[ksh(1)]], [[bash(1)]]


== COLOPHON ==
Denna sida är en översättning av manualsidan för ash(1). 
Projekt: OpenBSD / BSD / BusyBox 
Bidra med förbättringar till manualöversättningen genom att rapportera fel.
= Sidslut =
= Sidslut =



Nuvarande version från 26 september 2025 kl. 16.19

NAMN

ash - kommandotolk (skal) för UNIX

SYNOPSIS

ash [flaggor] [skript [argument ...]]

BESKRIVNING

ash är ett lättvikts POSIX-kompatibelt skal som används som standardskal på vissa system. Det liknar ksh men är mindre och snabbare. Det kan köras interaktivt eller via skript. Vid interaktiv start (stdin är terminal eller flaggan -i används) hanteras promptar och fel annorlunda. Vid inloggning läses /etc/profile och ~/.profile. Om variabeln ENV är satt läses den filen vid varje start.

FLAGGOR

Flagga Beskrivning
-i Interaktivt läge
-e Avsluta vid fel (errexit)
-u Odefinierad variabel är fel (nounset)
-x Visa kommandon vid exekvering (xtrace)
-v Visa inläst text (verbose)
-f Inaktivera filnamnsgenerering (noglob)
-C Skydda befintliga filer från att skrivas över med > (noclobber)
-n Läs men exekvera inte kommandon (noexec)
-m Aktivera jobbstyrning
-V Aktivera vi-liknande radredigering
-E Aktivera emacs-liknande radredigering

RESERVERADE ORD

Ord Betydelse
if, then, elif, else, fi Villkorssatser
for, in, do, done Loopar över listor
while, until Loopar baserat på villkor
case, esac Mönstermatchning
{, } Gruppkommandon
! Negera ett kommando eller en pipeline

KOMMANDON

Kommandon kan vara enkla eller komplexa. Omdirigeringar (inklusive här-dokument) stöds. Sökordning: funktion → inbyggt kommando → sök i PATH. Kommandon med "/" körs direkt.

FUNKTIONER

Funktioner definieras med:

namn () kommando

local kan användas för att skapa lokala variabler. return styr returvärde.

VARIABLER

Positionella parametrar: $1 .. $9 Specialparametrar: *, @, #, ?, $, !, 0

EXPANSIONER

  • Tildeexpansion
  • Parameterexpansion
  • Kommandoexpansion
  • Aritmetisk expansion

FILNAMNSGENERERING

  • Jokertecken: * ? []
  • Case-satser stöder mönster

INBYGGDA KOMMANDON

Kommando Beskrivning
: Gör ingenting, returnerar 0
. Läs och kör ett skript i nuvarande skal
alias / unalias Hantera alias
bg, fg, jobs Jobbstyrning
cd Byt katalog
command Kör kommando utan alias/funktion
eval Kör kommando efter expansion
exec Ersätt skalet med kommando
exit Avsluta skalet
export Exportera variabler till miljön
getopts Tolka kommandoradsflaggor
hash Hantera hash-tabell för kommandon
pwd Visa aktuell katalog
read Läs en rad inmatning
readonly Gör variabler skrivskyddade
set, setvar, shift Hantera variabler och parametrar
times Visa använd CPU-tid
trap Fånga signaler
type Visa hur kommandon tolkas
ulimit Hantera resursbegränsningar
umask Hantera standardrättigheter för filer
unset Ta bort variabler
wait Vänta på bakgrundsjobb

MILJÖVARIABLER

Variabel Beskrivning
HOME Standardhemdirektorium
PATH Sökväg för kommandon
CDPATH Sökväg för cd-kommandot
MAIL Fil att kontrollera för e-post
MAILCHECK Intervall (sekunder) för e-postkontroll
MAILPATH Lista över e-postfiler
PS1 Primär promptsträng
PS2 Sekundär promptsträng
IFS Fältskiljetecken
TERM Terminaltyp
HISTSIZE Storlek på kommandohistorik

FILER

  • ~/.profile
  • /etc/profile

HISTORIK

sh fanns redan i AT&T UNIX version 1 men ersattes i BSD av andra skal.

AVSLUTNINGSSTATUS

0 vid framgång, ≠0 vid fel. Syntaxfel stänger skalet.

FEL

Setuid-shellskript bör undvikas av säkerhetsskäl.

SE ÄVEN

sh(1), ksh(1), bash(1)

COLOPHON

Denna sida är en översättning av manualsidan för ash(1). Projekt: OpenBSD / BSD / BusyBox Bidra med förbättringar till manualöversättningen genom att rapportera fel.

Sidslut

Orginalhemsidan på Engelska :https://linux.die.net/man/1/ash Det här är en maskinöversättning av Linux man sidor 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 webbhotell.