staging.inyokaproject.org

Bash: Parameter als berechnete Zahl

Status: Ungelöst | Ubuntu-Version: Xubuntu 16.04 (Xenial Xerus)
Antworten |

sigvdr

Anmeldungsdatum:
30. Oktober 2008

Beiträge: Zähle...

Hallo,

in einem BashScript wird eine Zahl "BlockCount" berechnet (nicht so wie im hier Beispiel als Konstante festgelegt) Diese Berechnete Zahl soll an "dd" übergeben werden.

Ein einfaches Beispiel:

1
2
BlockCount=120
dd if=/dev/sdx bs=1M count=BlockCount of=Dateiname

Fehlermeldung-> dd: ungültige Zahl: >>BlockCount"

Wie kann ich BlockCount hier als Zahl übergeben? Versucht habe ich schon

1
2
3
count="$BlockCount"
"count=$BlockCount"
count=$(BlockCount)

Gruß Sig

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13242

sigvdr schrieb:

in einem BashScript wird eine Zahl "BlockCount" berechnet (nicht so wie im hier Beispiel als Konstante festgelegt) Diese Berechnete Zahl soll an "dd" übergeben werden.

Ein einfaches Beispiel:

1
2
BlockCount=120
dd if=/dev/sdx bs=1M count=BlockCount of=Dateiname

Fehlermeldung-> dd: ungültige Zahl: >>BlockCount"

Logisch, denn die Shell verwendet da nur den Text. Ohne das Dollarzeichen ist es keine Parameter Expansion.

Wie kann ich BlockCount hier als Zahl übergeben? Versucht habe ich schon

1
2
3
count="$BlockCount"
"count=$BlockCount"
count=$(BlockCount)

Die ersten beiden Wege funktionieren, sowie dieser

1
count=$BlockCount

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17630

und count=${BlockCount} geht auch, sieht man auch oft.

Das ist aber nur hilfreich bei der Verkettung von Strings:

1
2
3
4
a=Mist
echo ${a}gabel  # Mistgabel
echo $agabel    # Variable agabel wird nicht gefunden
echo $a gabel # Mist gabel
Antworten |