bc: Skillnad mellan sidversioner

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök
Ingen redigeringssammanfattning
Ingen redigeringssammanfattning
Rad 1: Rad 1:
== BC(1P) - POSIX Programmeringsmanual ==
= bc(1p) — Linux manual sida =


=== FÖRORD ===
== PROLOG ==
Denna manualsida är en del av POSIX-programmeringsmanualen. Linux-implementationen av detta gränssnitt kan skilja sig (konsultera motsvarande Linux-manualsida för detaljer om Linux-beteende), eller så kan gränssnittet saknas på Linux.
Denna manualsida är en del av POSIX-programmerarens manual. Linux-implementeringen av detta gränssnitt kan skilja sig (konsultera den motsvarande Linux-manualsidan för detaljer om Linux-beteende), eller så kanske gränssnittet inte är implementerat i Linux.


=== NAMN ===
== NAMN ==
'''bc''' — ett språk för godtycklig precision aritmetik.
''bc'' — programmeringsspråk för aritmetik med godtycklig precision.


=== SYNOPSIS ===
== SYNOPSIS ==
<code>bc [-l] [fil...]</code>


bc [-l] [fil...]
== BESKRIVNING ==
Verktyget ''bc'' implementerar en kalkylator med godtycklig precision. Det tar emot indata från angivna filer och läser sedan från standardindata. Om standardindata och standardutdata är anslutna till en terminal, kommer anropet av ''bc'' att betraktas som interaktivt, vilket medför beteendebegränsningar som beskrivs i efterföljande sektioner.


=== BESKRIVNING ===
== FLAGGOR ==
Verktyget '''bc''' implementerar en räknare med godtycklig precision. Det tar indata från angivna filer och läser sedan från standardindata. Om standardindata och standardutdata är kopplade till en terminal, betraktas körningen av '''bc''' som interaktiv.
Verktyget ''bc'' ska följa basdefinitionerna i POSIX.1-2017, avsnitt 12.2, riktlinjer för verktygssyntax.
 
=== FLAGGOR ===
'''bc''' följer riktlinjerna i POSIX.1-2017, Sektion 12.2, "Utility Syntax Guidelines".


Följande flagga stöds:
Följande flagga stöds:


'''-l''' (bokstaven "l"): Definierar matematiska funktioner och initierar skalan till 20 istället för det normala värdet noll.
* '''-l''' (lägre l). Definierar matematiska funktioner och initierar ''scale'' till 20, istället för standardvärdet noll.


=== OPERANDER ===
== OPERANDER ==
Följande operander stöds:
Följande operander stöds:


'''fil''': Sökväg till en textfil som innehåller '''bc'''-programuttryck. Efter att alla filer har lästs in, kommer '''bc''' att läsa från standardindata.
* ''fil'': Sökvägen till en textfil som innehåller ''bc''-programuttryck. Efter att alla filer har lästs, kommer ''bc'' att läsa standardindata.
 
=== STANDARDINDATA ===
Se avsnittet [[#Indatafiler|Indatafiler]].
 
=== INDATAFILER ===
Indatafiler ska vara textfiler som innehåller kommentarer, satser och funktionsdefinitioner som exekveras i den ordning de läses.


=== MILJÖVARIABLER ===
== STANDARDINDATA ==
Följande miljövariabler påverkar körningen av '''bc''':
Se avsnittet "INDATAFILER".


'''LANG''': Ger ett standardvärde för internationaliseringsvariabler.
== INDATAFILER ==
Indatafiler ska vara textfiler som innehåller en sekvens av kommentarer, uttryck och funktionsdefinitioner som ska exekveras medan de läses.


'''LC_ALL''': Överskrider värdena för andra internationaliseringsvariabler.
== MILJÖVARIABLER ==
Följande miljövariabler påverkar exekveringen av ''bc'':


'''LC_CTYPE''': Avgör tolkningen av textdata som tecken.
* ''LANG'': Ger ett standardvärde för internationaliseringsvariabler som är ospecificerade eller tomma.
* ''LC_ALL'': Om satt till ett icke-tomt strängvärde, åsidosätter den värden av alla andra internationaliseringsvariabler.
* ''LC_CTYPE'': Avgör tolkningen av byte-sekvenser i textdata.
* ''LC_MESSAGES'': Avgör formatet och innehållet i diagnostiska meddelanden.
* ''NLSPATH'': Avgör platsen för meddelandekataloger.


'''LC_MESSAGES''': Styr format och innehåll för diagnostikmeddelanden.
== ASYNKRONA HÄNDELSER ==
 
'''NLSPATH''': Definierar sökningen för meddelandekataloger.
 
=== ASYNKRONA HÄNDELSER ===
Standard.
Standard.


=== STANDARDUTDATA ===
== STANDARDUTDATA ==
Utdata från '''bc''' styrs av programmet och består av noll eller fler rader med värdet av alla exekverade uttryck.
Utmatningen av verktyget ''bc'' styrs av programmet som läses in och består av noll eller flera rader innehållande värdet av alla exekverade uttryck utan tilldelningar. Radix och precision styrs av variablerna ''obase'' och ''scale''.
 
=== STANDARDFEL ===
Standardfel används endast för diagnostikmeddelanden.
 
=== UTADATAFILER ===
Inga.


=== EXEMPEL ===
== STANDARD FELUTDATA ==
Följande beräknar en approximation av π:
Standardfel används endast för diagnostiska meddelanden.


echo "scale=10; 104348/33215" | bc
== UTGÅNGSVÄRDEN ==
Följande utgångsvärden returneras:


Ett exempel på en funktion som beräknar exponentiella värden:
* '''0''': Alla indatafiler bearbetades framgångsrikt.
* '''ospecificerad''': Ett fel uppstod.


scale = 20
== KONSEKVENSER AV FEL ==
define e(x) {
Om någon filoperand anges och den namngivna filen inte kan öppnas, ska ''bc'' skriva ett diagnostiskt meddelande till standardfel och avslutas utan vidare åtgärd.
auto a, b, c, i, s
a = 1
b = 1
s = 1
for (i = 1; 1 == 1; i++) {
a = ax
b = bi
c = a/b
if (c == 0) {
return(s)
}
s = s+c
}
}


=== AVSLUTNINGSSTATUS ===
== EXEMPEL ==
Följande statuskoder returneras:
I skalet kan följande kommando tilldela en approximation av de första tio siffrorna i ''π'' till variabeln ''x'':


'''0''' — Alla indatafiler bearbetades framgångsrikt.
x=$(printf "%s\n" 'scale = 10; 104348/33215' | bc)


'''ospecificerad''' — Ett fel inträffade.
Följande ''bc''-program skriver samma approximation av ''π'', med en etikett, till standardutdata:


=== RELATERAD INFORMATION ===
scale = 10
Se även:
"pi equals "
104348 / 33215


[[awk(1p)]]
== SE ÄVEN ==
* ''awk(1p)''


POSIX.1-2017 avsnitt 12.2, "Utility Syntax Guidelines".
Den grundläggande volymen av POSIX.1-2017, kapitel 8, "Miljövariabler".


=== COPYRIGHT ===
== COPYRIGHT ==
Denna manualsida innehåller utdrag från IEEE Std 1003.1-2017, POSIX-standard.
Delar av denna text är återgivna och reproducerade i elektronisk form från IEEE Std 1003.1-2017, Standard för Informationsteknik — Portabelt operativsystem-gränssnitt (POSIX), The Open Group Base Specifications Issue 7, 2018 Edition. Copyright (C) 2018 av IEEE och The Open Group.

Versionen från 26 januari 2025 kl. 08.31

bc(1p) — Linux manual sida

PROLOG

Denna manualsida är en del av POSIX-programmerarens manual. Linux-implementeringen av detta gränssnitt kan skilja sig (konsultera den motsvarande Linux-manualsidan för detaljer om Linux-beteende), eller så kanske gränssnittet inte är implementerat i Linux.

NAMN

bc — programmeringsspråk för aritmetik med godtycklig precision.

SYNOPSIS

bc [-l] [fil...]

BESKRIVNING

Verktyget bc implementerar en kalkylator med godtycklig precision. Det tar emot indata från angivna filer och läser sedan från standardindata. Om standardindata och standardutdata är anslutna till en terminal, kommer anropet av bc att betraktas som interaktivt, vilket medför beteendebegränsningar som beskrivs i efterföljande sektioner.

FLAGGOR

Verktyget bc ska följa basdefinitionerna i POSIX.1-2017, avsnitt 12.2, riktlinjer för verktygssyntax.

Följande flagga stöds:

  • -l (lägre l). Definierar matematiska funktioner och initierar scale till 20, istället för standardvärdet noll.

OPERANDER

Följande operander stöds:

  • fil: Sökvägen till en textfil som innehåller bc-programuttryck. Efter att alla filer har lästs, kommer bc att läsa standardindata.

STANDARDINDATA

Se avsnittet "INDATAFILER".

INDATAFILER

Indatafiler ska vara textfiler som innehåller en sekvens av kommentarer, uttryck och funktionsdefinitioner som ska exekveras medan de läses.

MILJÖVARIABLER

Följande miljövariabler påverkar exekveringen av bc:

  • LANG: Ger ett standardvärde för internationaliseringsvariabler som är ospecificerade eller tomma.
  • LC_ALL: Om satt till ett icke-tomt strängvärde, åsidosätter den värden av alla andra internationaliseringsvariabler.
  • LC_CTYPE: Avgör tolkningen av byte-sekvenser i textdata.
  • LC_MESSAGES: Avgör formatet och innehållet i diagnostiska meddelanden.
  • NLSPATH: Avgör platsen för meddelandekataloger.

ASYNKRONA HÄNDELSER

Standard.

STANDARDUTDATA

Utmatningen av verktyget bc styrs av programmet som läses in och består av noll eller flera rader innehållande värdet av alla exekverade uttryck utan tilldelningar. Radix och precision styrs av variablerna obase och scale.

STANDARD FELUTDATA

Standardfel används endast för diagnostiska meddelanden.

UTGÅNGSVÄRDEN

Följande utgångsvärden returneras:

  • 0: Alla indatafiler bearbetades framgångsrikt.
  • ospecificerad: Ett fel uppstod.

KONSEKVENSER AV FEL

Om någon filoperand anges och den namngivna filen inte kan öppnas, ska bc skriva ett diagnostiskt meddelande till standardfel och avslutas utan vidare åtgärd.

EXEMPEL

I skalet kan följande kommando tilldela en approximation av de första tio siffrorna i π till variabeln x:

x=$(printf "%s\n" 'scale = 10; 104348/33215' | bc)

Följande bc-program skriver samma approximation av π, med en etikett, till standardutdata:

scale = 10
"pi equals "
104348 / 33215

SE ÄVEN

  • awk(1p)

Den grundläggande volymen av POSIX.1-2017, kapitel 8, "Miljövariabler".

COPYRIGHT

Delar av denna text är återgivna och reproducerade i elektronisk form från IEEE Std 1003.1-2017, Standard för Informationsteknik — Portabelt operativsystem-gränssnitt (POSIX), The Open Group Base Specifications Issue 7, 2018 Edition. Copyright (C) 2018 av IEEE och The Open Group.