Nixblikker
22-10-2007, 09:51
ich hab mal mein bash-problem auf zwei zweizeiler runtergerechnet:
----------------
testfunc.sh:
echo "$# parameters"
echo "$@"
------------------
calltest.sh:
param1=a
param2="b c"
./testfunc.sh ${param1} \"${param2}\"
------------------------
wenn ich testfunc.sh aufrufe mit
./testfunc.sh a "b c"
bekomme ich korrekterweise als Antwort, dass ich ZWEI PARAMETER übergeben hat.
starte ich allerdings
./calltest.sh
die ja genau das Selbe tut, interpretiert testfunc aber DREI PARAMETER
Bevor ich BUG schreie, wollte ich hiermal nachfragen, ob jemand Rat weis - muss ich in der calltest.sh irgendetwas noch penibler maskieren? Auch wenn das hier grad 'n bisschen akademisch ausschaut, hat die sache einen praktischen Grund denn mir gelingt es einfach nicht ein script mit der Zeile
./XXmodify -m \"$modstring\" $file
zum fliegen zu bringen.
Danke.
----------------
testfunc.sh:
echo "$# parameters"
echo "$@"
------------------
calltest.sh:
param1=a
param2="b c"
./testfunc.sh ${param1} \"${param2}\"
------------------------
wenn ich testfunc.sh aufrufe mit
./testfunc.sh a "b c"
bekomme ich korrekterweise als Antwort, dass ich ZWEI PARAMETER übergeben hat.
starte ich allerdings
./calltest.sh
die ja genau das Selbe tut, interpretiert testfunc aber DREI PARAMETER
Bevor ich BUG schreie, wollte ich hiermal nachfragen, ob jemand Rat weis - muss ich in der calltest.sh irgendetwas noch penibler maskieren? Auch wenn das hier grad 'n bisschen akademisch ausschaut, hat die sache einen praktischen Grund denn mir gelingt es einfach nicht ein script mit der Zeile
./XXmodify -m \"$modstring\" $file
zum fliegen zu bringen.
Danke.