Ich versuche, die HEADER_SEARCH_PATHS Umgebungsvariable in Xcode 3.2 in 10.6 zu analysieren. Es ist eine Reihe von Pfaden wie:Parsen String in Argumentenliste genau wie in die Konsole eingegeben?
"~/My Path with Spaces" /usr/local /myrootpath
Ich brauche diese Zeichenfolge zu teilen, mit allen folgenden zitiert Regeln der Shell, so dass ich eine Schleife über die Argumentliste und prepend -I und dann all das gcc übergeben wie folgt:
gcc -I"~/Path with Spaces" -I/usr/local -I/myrootpath
Ich habe awk, sed, set, $ @, alles studiert. Ich dachte, das funktioniert hätte:
set -- $HEADER_SEARCH_PATHS
for arg in [email protected]
do
echo "arg $i:$arg:" >> mytestfile.txt
let "i+=1"
done
Aber es spaltet sich nur auf Platz so ist das Ergebnis:
arg :"~/Path:
arg 1:with:
arg 2:Spaces":
arg 3:/usr/local:
arg 4:/myrootpath:
ich auch neugierig bin, wenn es ein gcc-Tool, das den Pfad einschließen, in einer Sets Schritt. Ich muss etwas Grundlegendes vermissen. Danke!
meinten Sie 'eval set - ...' –
in diesem speziellen Fall entweder würde gearbeitet, da seine Wege nicht mit '-' beginnen. Allerdings kann '--' nur helfen, also habe ich es hinzugefügt. Danke für den Fang – SiegeX
Hey danke! Ihre Lösung führte mich zu diesen Seiten: http://stackoverflow.com/questions/1297529/iterating-over-options-and-quoted-unquoted-arguments-passed-to-bash-script und http: //stevemorin.blogspot. com/2006/04/bash-loop-through-parameters.html und ich habe schließlich eine Lösung mit eval oder eine Funktion, die dann Schicht für $ 1 verwendet und ich werde es unten posten. Ich bin neu, weiß also nicht, wie ich dir Kredit geben soll? –