14. März 200520 j 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
14. März 200520 j 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
14. März 200520 j 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.
14. März 200520 j besser noch string1="$string1$string2" falls die strings leerzeichen enthalten könnten (wie, ich kann nur alle 60 sekunden posten? tse tse :cool: )
14. März 200520 j ./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" ]
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.