• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst] String in Int umwandel

chappert

Hacker
Hallo alle zusammen,

ich habe z.B eine Varaibel $TEST dort ist ein STRING enthalten (30)
um jetzt aber damit rechnen zu können muss ich den STRING (30)
in eine INT umwandeln aber wie???

hoffe es kann mir jemand helfen...
 
OP
C

chappert

Hacker
über die bash in Linux
aber ich habs jetzt auch allein geschaft, trozdem danke

Lösung:
Vor der Variable wo mein String eingelesen wird, was ich aber als Integer weiterverwenden möchte muss man
"declare -i VARIABLE" setzen

fertig
 

abgdf

Guru
Ist nicht nötig: Die Variablen in bash sind (wie auch in Perl) Skalarvariablen:
Code:
#!/bin/bash

a="30"
echo $a + 30 | bc
Gruß
 
OP
C

chappert

Hacker
ja wenn de dat so machst dann klappt das ja auch, kein thema

aber in meine variable wird nen string eingelesen (zahlentext aus ner datei) und damit kannste dann nicht rechnen
weil du das erst, die variable, in neinen integer umwandeln musst
 

regexer

Advanced Hacker
chappert schrieb:
aber in meine variable wird nen string eingelesen (zahlentext aus ner datei) und damit kannste dann nicht rechnen
Es ist doch eigentlich egal, wo der Wert "30" herkommt. Rechnen kann man in der bash damit immer. Vielleicht hab ich's nicht ganz kapiert, was du meinst...
 
OP
C

chappert

Hacker
also ich hab meinetwegen eine Datei "test"
dort steht ein Zeichfolge drin "5066"
jetzt deviniere ich eine Variable "RECHN=`cut -c 2-4 test`" die mir die letzten 2 Zeichen auschneidet "66"

Jetzt kann ich aber mit der Variable RECHN nicht rechnen
z.b.
let ERG=$RECHN+10;
kommt immer ein fehler zustande der mir sagt das er ein operant nach = erwartet
wenn ich jetzt aber

declare -i RECHN
RECHN=`cut -c 2-4 test`
let ERG=$RECHN+10;

dann funktioniert es
 

regexer

Advanced Hacker
chappert schrieb:
jetzt deviniere ich eine Variable "RECHN=`cut -c 2-4 test`" die mir die letzten 2 Zeichen auschneidet "66"
cut -c2-4 schneidet die letzten drei Stellen aus.

Jetzt kann ich aber mit der Variable RECHN nicht rechnen
Doch! Mach mal folgendes:
Code:
unset RECHN ERG
echo 5066 > test
RECHN=`cut -c3-4 test`
let ERG=$RECHN+10
echo $ERG
 
OP
C

chappert

Hacker
@notoxp

"cut -c2-4 schneidet die letzten drei Stellen aus." <<--- hab ich mich vertippt, ist eigentlich klar

---------------------
unset RECHN ERG
echo 5066 > test
RECHN=`cut -c3-4 test`
let ERG=$RECHN+10
echo $ERG
-----------------------

ich denke mal wieder das hier mehrere lösungen zum Ziel führen, hab jetzt meine variante gelassen
was macht denn "unset RECHN ERG" eigentlich genau
 
Oben