SNOWMAN Geschrieben 14. März 2005 Geschrieben 14. März 2005 Hi, wie kann ich in shellskripten einen String an einen anderen anhängen. Also in PHP wäre das ganze sowas wie: $string1 = $string1 . $string2 Aber in der Shell geht das mit . nicht. Und da ich rein garkein Plan hab wie dieser "." bezeichnet wird hab ich in Google auch nicht viel zu dem ganzen gefunden Der gesamte Codeblock sieht so aus: while [ ${1} ] do print "DEBUG..." CMD_LINE_ARG=$CMD_LINE_ARG ${1} #Hier muss die Verbindung rein shift done java -jar $Filename $folder $CMD_LINE_ARG #und hier wirds an den Aufruf angehängt Zitieren
Speck0r Geschrieben 14. März 2005 Geschrieben 14. März 2005 Bin mir nicht sicher, aber kann man nicht die Variablen einfach hintereinander schreiben? was in php dann so aussieht: $string1 = $string1 . $string2 wäre dann: $string1 = $string1$string2 Zitieren
SNOWMAN Geschrieben 14. März 2005 Autor Geschrieben 14. März 2005 Habs mal getestet: CMD_LINE_ARG=$CMD_LINE_ARG${1} Aufruf mit "Skript.sh -h -g -7 -ff 4 Argumente -> 4 Durchläufe der while-Schleife Debugausgabe: ./skript.sh[41]: print: -h: unknown option in jeder der 4 ausgaben. heißt das dann das es geht und er, da er das -h nich kennt, abbricht und die anderen optionen nicht mit ausgibt? ich schätz mal ja, aber sicher bin ich mir da nicht. Zitieren
ekhard Geschrieben 14. März 2005 Geschrieben 14. März 2005 string1=$string1$string2 ist richtig Zitieren
ekhard Geschrieben 14. März 2005 Geschrieben 14. März 2005 besser noch string1="$string1$string2" falls die strings leerzeichen enthalten könnten (wie, ich kann nur alle 60 sekunden posten? tse tse :cool: ) Zitieren
ekhard Geschrieben 14. März 2005 Geschrieben 14. März 2005 ./skript.sh[41]: print: -h: unknown option das liegt an der falschen while- bzw test-syntax. falls du mit while [ ${1} ] meinst, "solange $1 nicht leer ist", mach while [ -n "$1" ] Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.