Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » GNU/Linux » bash-Skriptsprache: Funktionsaufruf funktioniert nicht

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
04.06.2015, 23:05 Uhr
Yadgar



Hi(gh)!

Ich stehe schon wieder wie der Ochs vorm Berg - irgendwie scheinen alle Tutorials der Welt nichts zu taugen, oder ich bin einfach zu dumm, um sie zu verstehen!

Folgendes Problem:

Eine Funktionsdefinition:


Code:
digits()
{
  c=1
  d=0
  while [ $c -le $1 ]
  do
    c=$((c*10))
    d=$((d+1))
  done
  return $d
}



Der Funktionsaufruf:


Code:
d=digits($mframe)



Die Fehlermeldung:

Syntax error: "(" unexpected

Wenn ich die Klammern weglasse, kommt auch nur:

13000: not found

wobei "13000" eine vorher eingegebene Zahl ist.

Ich verstehe das alles nicht... warum kann Programmieren nicht so einfach wie Fahrradfahren sein?

Bis bald im Khyberspace!

Yadgar
--
Flagmaker - ein Programmier-Blog
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
05.06.2015, 15:57 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


hi,

funktionsrückgaben funktionieren in bash nicht wie in C:

(vgl http://stackoverflow.com/questions/15013481/in-bash-how-to-store-a-return-value-in-a-variable)

d.h


Code:
digits $mframe
d=$?



ist der korrekte aufruf.

alternativ:


Code:
digits()
{
  c=1
  d=0
  while [ $c -le $1 ]
  do
    c=$((c*10))
    d=$((d+1))
  done
  echo $d
}

d=$(digits $mframe)


--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ GNU/Linux ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: