Versuchen, Schuppen Flucht zu tun, und das funktioniert offensichtlich nicht. Mein Parameter mit Leerzeichen ist customer
und sein Wert ist NAME WITH SPACE
.Bash-Befehl mit einer Shell-Skript-Variable, die sich selbst als Parameter mit Leerzeichen
chroot /sites/FOLDER1 /bin/su FOLDER2 -c "/data/batch/myScript.sh -v -g -action params -customer NAME WITH SPACE"
Ich erhalte:
Fehler: Unbekannter Parameter MIT
las ich ein paar Fäden zu den Themen, aber keine Lösung ausmachen: https://superuser.com/questions/360966/how-do-i-use-a-bash-variable-string-containing-quotes-in-a-command http://mywiki.wooledge.org/BashFAQ/050
Versucht mit einfachen und doppelten Anführungszeichen, mit dem Speichern der Parameter in einer Var iable etc aber keine Würfel.
Wenn ich
chroot /sites/FOLDER1 /bin/su FOLDER2 -c '/data/batch/myScript.sh -v -g -action params -customer 'NAME WITH SPACE''
Es funktioniert ein wenig besser, da ich nicht den unbekannten Parameter bekommen Sie aber es dauert nur Name als Parameter und ignorieren, was nach dem Raum
Danke, aber ich bekomme immer noch 'Unbekannter Parameter MIT' – TheBakker
'deklarieren - cmd =" / data/batch/myScript.sh -v -g -action params -customer NAME \\ WITH \\ SPACE "' – TheBakker
Ja 'chroot/sites/FOLDER1/bin/su FOLDER2 -c" $ cmd "' – TheBakker