Bash-script til konvertering af binært til decimaltal: Sådan fungerer `echo $((2#$1))`

Hvordan fungerer følgende bash-script, der viser et decimaltal ud fra et binært tal: `echo $((2#$1))`?

Bash-scriptet `echo $((2#$1))` konverterer et binært tal til et decimaltal ved at bruge Bash's aritmetiske udtrykssyntaks, hvor `2#` angiver base 2.

Hvordan fungerer følgende bash-script, der viser et decimaltal ud fra et binært tal: `echo $((2#$1))`?

Bash-scriptet `echo $((2#$1))` konverterer et binært tal til et decimaltal. Her er en trinvis forklaring på, hvordan det fungerer:

  • Parameter: $1 repræsenterer det første argument, der gives til scriptet. Dette argument forventes at være et binært tal (en streng af 0'er og 1'er).
  • Base: 2# angiver, at tallet, der følger, er i base 2 (binært). Dette er en del af Bash's aritmetiske udtrykssyntaks.
  • Aritmetisk udtryk: $((...)) bruges til at evaluere aritmetiske udtryk i Bash. Inden for disse parenteser kan man udføre forskellige matematiske operationer.
  • Konvertering: Når $1 er et binært tal, og det placeres efter 2# inden for $((...)), konverterer Bash det binære tal til et decimaltal.
  • Output: echo bruges til at udskrive det resulterende decimaltal til terminalen.

Eksempel:

./script.sh 1010

Her er 1010 det binære tal, der gives som argument. Scriptet vil udføre følgende:

  1. Erstatte $1 med 1010.
  2. Evaluere udtrykket $((2#1010)), hvilket konverterer det binære tal 1010 til det decimale tal 10.
  3. Udskrive 10 til terminalen.

Således vil outputtet være:

10

Opret din første opgave på få minutter

Spar dig selv for besvær og kom igennem din to-do liste i dag

1

Beskriv din opgave

2

Modtag bud

3

Få løst din opgave

opgaver platform services

Møbelsamling

Hjælp med at samle Ikea klædeskab

opgaver platform services

Maler

Klargøring af lejlighed til flyttesyn

opgaver platform services

Flyttehjælp

Flytning af 150 kvm hus til Roskilde fra København

opgaver platform services

Havearbejde

Beskæring af 4 større træer

opgaver platform services

IT support

Geninstallering af windows + programmer

opgaver platform services

Elektriker

Installation af Sonos musikanlæg i hus

opgaver platform services

Rengøring

Ugentlig rengøring af lejlighed (114kvm)

opgaver platform services

Flyttehjælp

Flytning af 150 kvm hus til Roskilde fra København

opgaver platform services

Elektriker

Opsætning af lamper i stue og soveværelse

opgaver platform services

Catering

3-retters menu til 14 mennesker