Hi,
nach langem suchen hab diese Variante gefunden um Spaces in Bashparametern abzufangen:
1 2 3 4 5 6 7 8 | #!/bin/bash for arg in "$@"; do echo $arg done #bash script "path/subfolder number 1/file" "path2" ergibt #path/subfolder number 1/file #path2 |
schön und gut, wenn ich das aber in einer Funktion versuche, klappt das ganze nicht mehr. Da ich die Funktion rekursiv aufrufe kann ich die Parameter nicht einfach ausserhalb der FUnktion schon herausfischen
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #!/bin/bash function doit { for arg in "$@"; do echo $arg done } doit $@ #bash script "path/subfolder number 1/file" "path2" ergibt #path/subfolder #number #1/file #path2 |
was tun? Ich bin erstaunt wie kompliziert soetwas normales ist...