break(1p): Skillnad mellan sidversioner
Admin (diskussion | bidrag) (Skapade sidan med '= Sidslut = Orginalhemsidan på Engelska https://man7.org/linux/man-pages/man1/break.1p.html 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/ <BR><BR>Tack till [https://Pc-service.se PC Service] som har sponsrat [https://www.linux.se Linux.se] med webbhotell. Kategori:Linuxmanual grupp 1 Kategori:Linuxmanual') |
Admin (diskussion | bidrag) Ingen redigeringssammanfattning |
||
| Rad 1: | Rad 1: | ||
= break(1P) = | |||
== PROLOG == | |||
Denna manualsida är en del av POSIX Programmer's Manual. | |||
Linux-implementationen av detta gränssnitt kan skilja sig | |||
(se motsvarande Linux-manualsida för detaljer om Linux-beteende), | |||
eller så kanske gränssnittet inte är implementerat på Linux. | |||
== NAMN == | |||
'''break''' — avsluta en ''for''-, ''while''- eller ''until''-slinga | |||
== SYNOPSIS == | |||
<pre> | |||
break [n] | |||
</pre> | |||
== BESKRIVNING == | |||
Om ''n'' anges ska verktyget ''break'' avsluta den ''n'':te omslutande | |||
''for''-, ''while''- eller ''until''-slingan. Om ''n'' inte anges ska | |||
''break'' bete sig som om ''n'' hade angetts som 1. Exekveringen ska | |||
fortsätta med kommandot omedelbart efter den avslutade slingan. | |||
Värdet på ''n'' är ett positivt decimalt heltal. Om ''n'' är större än | |||
antalet omslutande slingor ska den yttersta omslutande slingan avslutas. | |||
Om det inte finns någon omslutande slinga är beteendet ospecificerat. | |||
En slinga ska omsluta ett ''break''- eller ''continue''-kommando om | |||
slingan lexikalt omsluter kommandot. En slinga lexikalt omsluter ett | |||
''break''- eller ''continue''-kommando om kommandot är: | |||
* exekverat i samma exekveringsmiljö (se ''Section 2.12'', | |||
''Shell Execution Environment'') som sammansatt-listan i slingans | |||
do-grupp (se ''Section 2.10.2'', ''Shell Grammar Rules''), och | |||
* innehållet i en sammansatt-lista associerad med slingan | |||
(antingen i sammansatt-listan i slingans do-grupp eller, om slingan | |||
är en ''while''- eller ''until''-slinga, i sammansatt-listan som följer | |||
efter det reserverade ordet ''while'' eller ''until''), och | |||
* inte i kroppen för en funktion vars funktionsdefinitionskommando | |||
(se ''Section 2.9.5'', ''Function Definition Command'') finns i en | |||
sammansatt-lista associerad med slingan. | |||
Om ''n'' är större än antalet lexikalt omslutande slingor och det finns | |||
en icke-lexikalt omslutande slinga som pågår i samma exekveringsmiljö | |||
som kommandot ''break'' eller ''continue'', är det ospecificerat om den | |||
slingan omsluter kommandot. | |||
== FLAGGOR == | |||
Inga. | |||
== OPERANDER == | |||
Se BESKRIVNING. | |||
== STDIN == | |||
Används inte. | |||
== INDATAFILER == | |||
Inga. | |||
== MILJÖVARIABLER == | |||
Inga. | |||
== ASYNKRONA HÄNDELSER == | |||
Standard. | |||
== STDOUT == | |||
Används inte. | |||
== STDERR == | |||
Standard error ska endast användas för diagnostiska meddelanden. | |||
== UTDATAFILER == | |||
Inga. | |||
== UTVIDGAD BESKRIVNING == | |||
Ingen. | |||
== AVSLUTNINGSSTATUS == | |||
0 | |||
: Framgångsrikt avslut. | |||
>0 | |||
: Värdet ''n'' var inte ett teckenlöst decimalt heltal större än eller lika med 1. | |||
== KONSEKVENSER VID FEL == | |||
Standard. | |||
''Följande avsnitt är informativa.'' | |||
== ANVÄNDNING == | |||
Ingen. | |||
== EXEMPEL == | |||
<pre> | |||
for i in * | |||
do | |||
if test -d "$i" | |||
then break | |||
fi | |||
done | |||
</pre> | |||
Resultatet av att köra följande exempel är ospecificerat: | |||
det finns två slingor som pågår när kommandot ''break'' körs, och de är | |||
i samma exekveringsmiljö, men ingen av slingorna omsluter kommandot | |||
''break'' lexikalt. (Det finns inte heller några slingor som lexikalt | |||
omsluter kommandona ''continue''.) | |||
<pre> | |||
foo() { | |||
for j in 1 2; do | |||
echo 'break 2' >/tmp/do_break | |||
echo " sourcing /tmp/do_break ($j)..." | |||
# beteendet för break från körning av följande kommando | |||
# resulterar i ospecificerat beteende: | |||
. /tmp/do_break | |||
do_continue() { continue 2; } | |||
echo " running do_continue ($j)..." | |||
# beteendet för continue i följande funktionsanrop | |||
# resulterar i ospecificerat beteende (om exekveringen når | |||
# denna punkt): | |||
do_continue | |||
trap 'continue 2' USR1 | |||
echo " sending SIGUSR1 to self ($j)..." | |||
# beteendet för continue i trap som anropas från följande | |||
# signal resulterar i ospecificerat beteende (om | |||
# exekveringen når denna punkt): | |||
kill -s USR1 $$ | |||
sleep 1 | |||
done | |||
} | |||
for i in 1 2; do | |||
echo "running foo ($i)..." | |||
foo | |||
done | |||
</pre> | |||
== BAKGRUND == | |||
I tidiga förslag övervägdes att utöka syntaxen för ''break'' och | |||
''continue'' så att de kunde hänvisa till en etikett associerad med den | |||
aktuella slingan som ett bättre alternativ till metoden med ''n''. | |||
Dock reserverar denna del av POSIX.1-2017 namnutrymmet för kommandonamn | |||
som slutar med ett kolon. Det förutses att en framtida implementation | |||
skulle kunna dra nytta av detta och erbjuda något i stil med: | |||
<pre> | |||
outofloop: for i in a b c d e | |||
do | |||
for j in 0 1 2 3 4 5 6 7 8 9 | |||
do | |||
if test -r "${i}${j}" | |||
then break outofloop | |||
fi | |||
done | |||
done | |||
</pre> | |||
och att detta kan standardiseras efter att man fått erfarenhet av | |||
implementationer. | |||
== FRAMTIDA UTVECKLING == | |||
Ingen. | |||
== SE ÄVEN == | |||
''Section 2.14'', ''Special Built-In Utilities'' | |||
== COPYRIGHT == | |||
Delar av denna text återges och reproduceras i elektronisk form från | |||
IEEE Std 1003.1-2017, Standard for Information Technology -- | |||
Portable Operating System Interface (POSIX), The Open Group Base | |||
Specifications Issue 7, 2018 Edition, Copyright (C) 2018 av | |||
Institute of Electrical and Electronics Engineers, Inc och The Open Group. | |||
Vid varje avvikelse mellan denna version och den ursprungliga standarden | |||
från IEEE och The Open Group är originalstandarden från IEEE och | |||
The Open Group det gällande referensdokumentet. | |||
Originalstandarden kan erhållas online på | |||
http://www.opengroup.org/unix/online.html . | |||
Eventuella typografiska fel eller formateringsfel som förekommer på | |||
denna sida har sannolikt introducerats under konverteringen av | |||
källfilerna till manualsidesformat. För att rapportera sådana fel, se | |||
https://www.kernel.org/doc/man-pages/reporting_bugs.html . | |||
= Sidslut = | = Sidslut = | ||
Versionen från 25 april 2026 kl. 11.04
break(1P)
PROLOG
Denna manualsida är en del av POSIX Programmer's Manual. Linux-implementationen av detta gränssnitt kan skilja sig (se motsvarande Linux-manualsida för detaljer om Linux-beteende), eller så kanske gränssnittet inte är implementerat på Linux.
NAMN
break — avsluta en for-, while- eller until-slinga
SYNOPSIS
break [n]
BESKRIVNING
Om n anges ska verktyget break avsluta den n:te omslutande for-, while- eller until-slingan. Om n inte anges ska break bete sig som om n hade angetts som 1. Exekveringen ska fortsätta med kommandot omedelbart efter den avslutade slingan. Värdet på n är ett positivt decimalt heltal. Om n är större än antalet omslutande slingor ska den yttersta omslutande slingan avslutas. Om det inte finns någon omslutande slinga är beteendet ospecificerat.
En slinga ska omsluta ett break- eller continue-kommando om slingan lexikalt omsluter kommandot. En slinga lexikalt omsluter ett break- eller continue-kommando om kommandot är:
- exekverat i samma exekveringsmiljö (se Section 2.12,
Shell Execution Environment) som sammansatt-listan i slingans do-grupp (se Section 2.10.2, Shell Grammar Rules), och
- innehållet i en sammansatt-lista associerad med slingan
(antingen i sammansatt-listan i slingans do-grupp eller, om slingan är en while- eller until-slinga, i sammansatt-listan som följer efter det reserverade ordet while eller until), och
- inte i kroppen för en funktion vars funktionsdefinitionskommando
(se Section 2.9.5, Function Definition Command) finns i en sammansatt-lista associerad med slingan.
Om n är större än antalet lexikalt omslutande slingor och det finns en icke-lexikalt omslutande slinga som pågår i samma exekveringsmiljö som kommandot break eller continue, är det ospecificerat om den slingan omsluter kommandot.
FLAGGOR
Inga.
OPERANDER
Se BESKRIVNING.
STDIN
Används inte.
INDATAFILER
Inga.
MILJÖVARIABLER
Inga.
ASYNKRONA HÄNDELSER
Standard.
STDOUT
Används inte.
STDERR
Standard error ska endast användas för diagnostiska meddelanden.
UTDATAFILER
Inga.
UTVIDGAD BESKRIVNING
Ingen.
AVSLUTNINGSSTATUS
0 : Framgångsrikt avslut.
>0 : Värdet n var inte ett teckenlöst decimalt heltal större än eller lika med 1.
KONSEKVENSER VID FEL
Standard.
Följande avsnitt är informativa.
ANVÄNDNING
Ingen.
EXEMPEL
for i in *
do
if test -d "$i"
then break
fi
done
Resultatet av att köra följande exempel är ospecificerat: det finns två slingor som pågår när kommandot break körs, och de är i samma exekveringsmiljö, men ingen av slingorna omsluter kommandot break lexikalt. (Det finns inte heller några slingor som lexikalt omsluter kommandona continue.)
foo() {
for j in 1 2; do
echo 'break 2' >/tmp/do_break
echo " sourcing /tmp/do_break ($j)..."
# beteendet för break från körning av följande kommando
# resulterar i ospecificerat beteende:
. /tmp/do_break
do_continue() { continue 2; }
echo " running do_continue ($j)..."
# beteendet för continue i följande funktionsanrop
# resulterar i ospecificerat beteende (om exekveringen når
# denna punkt):
do_continue
trap 'continue 2' USR1
echo " sending SIGUSR1 to self ($j)..."
# beteendet för continue i trap som anropas från följande
# signal resulterar i ospecificerat beteende (om
# exekveringen når denna punkt):
kill -s USR1 $$
sleep 1
done
}
for i in 1 2; do
echo "running foo ($i)..."
foo
done
BAKGRUND
I tidiga förslag övervägdes att utöka syntaxen för break och continue så att de kunde hänvisa till en etikett associerad med den aktuella slingan som ett bättre alternativ till metoden med n. Dock reserverar denna del av POSIX.1-2017 namnutrymmet för kommandonamn som slutar med ett kolon. Det förutses att en framtida implementation skulle kunna dra nytta av detta och erbjuda något i stil med:
outofloop: for i in a b c d e
do
for j in 0 1 2 3 4 5 6 7 8 9
do
if test -r "${i}${j}"
then break outofloop
fi
done
done
och att detta kan standardiseras efter att man fått erfarenhet av implementationer.
FRAMTIDA UTVECKLING
Ingen.
SE ÄVEN
Section 2.14, Special Built-In Utilities
COPYRIGHT
Delar av denna text återges och reproduceras i elektronisk form från IEEE Std 1003.1-2017, Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 7, 2018 Edition, Copyright (C) 2018 av Institute of Electrical and Electronics Engineers, Inc och The Open Group. Vid varje avvikelse mellan denna version och den ursprungliga standarden från IEEE och The Open Group är originalstandarden från IEEE och The Open Group det gällande referensdokumentet. Originalstandarden kan erhållas online på http://www.opengroup.org/unix/online.html .
Eventuella typografiska fel eller formateringsfel som förekommer på denna sida har sannolikt introducerats under konverteringen av källfilerna till manualsidesformat. För att rapportera sådana fel, se https://www.kernel.org/doc/man-pages/reporting_bugs.html .
Sidslut
Orginalhemsidan på Engelska https://man7.org/linux/man-pages/man1/break.1p.html
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 PC Service som har sponsrat Linux.se med webbhotell.