ash(1)

Från Wiki.linux.se
Version från den 26 september 2025 kl. 07.29 av Admin (diskussion | bidrag) (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...')
(skillnad) ← Äldre version | Nuvarande version (skillnad) | Nyare version → (skillnad)
Hoppa till navigering Hoppa till sök

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 varje start.

Argument kan sätta positionella parametrar och flaggor. Vanliga flaggor:

 * -e (errexit) – avsluta vid fel
 * -u (nounset) – användning av odefinierad variabel är fel
 * -x (xtrace) – visa kommandon vid exekvering
 * -v (verbose) – visa inläst text
 * -f (noglob) – inaktivera filnamnsexpansion
 * -C (noclobber) – skydda befintliga filer mot >-redirection
 * -n (noexec) – läs men exekvera inte kommandon
 * -m (jobbstyrning)
 * -V/-E – vi/emacs-radredigering

Språket använder operatorer (&&, ||, |, ;, &, >, >>, <, <<, <<-, >&, <&) och citering (\, '…', "…"), har reserverade ord (if/then/elif/else/fi, for/in/do/done, while/until, case/esac, { }) och stöd för alias.

Kommandon tolkas som enkla eller komplexa, med omdirigeringar (inklusive här-dokument). De söks först som funktion, sedan inbyggt, och sist via PATH. Kommandon med / i namnet körs direkt.

Pipelines kopplar stdout→stdin och status hämtas från sista kommandot (negation med !). & kör i bakgrund (stdin blir /dev/null i icke-interaktivt läge). &&/|| kortsluter baserat på exitstatus.

Grupper körs i underskal ( … ) eller i samma skal { …; }. Funktioner definieras som namn () kommando, local ger lokala variabler och return styr returvärde.

Skalet hanterar variabler (positionella $1..$9, specialparametrar *, @, #, ?, $, !, 0), expansioner (tilde, parameter, kommando, aritmetisk), fältsplittring (IFS), filnamnsgenerering (wildcards * ? []), samt mönster i case.

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

MILJÖVARIABLER

HOME, PATH, CDPATH, MAIL, MAILCHECK, MAILPATH, PS1, PS2, IFS, TERM, HISTSIZE

FILER

~/.profile, /etc/profile

HISTORIK

sh fanns redan i AT&T UNIX v1 men ersattes i BSD.

AVSLUTNINGSSTATUS

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

FEL

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

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.