Ich kämpfe enthalten machen finden -exec meine Variable übernehmen, die mit Zitaten einen Befehl enthält ...finden -exec mit einer Variablen ein Co-Design-Befehl mit Anführungszeichen
signpath="codesign --force --deep --verbose --sign \"My Sign ID\""
Dann egal, welche Version von find ich versuche, ich kann nicht gelingen richtig die $ signpath zu exec:
find "$pathtoframeworks" -type f -not -name '*.*' -exec "$signpath {}" \;
#the above results in codesign --force --deep --verbose --sign "My Sign ID" My App.app/Contents/Frameworks/MyFramework.framework/Versions/5/MyFramework: No such file or directory
find "$pathtoframeworks" -type f -not -name '*.*' -exec $signpath "{}" \;
#the above results in "My: no identity found
find "$pathtoframeworks" -type f -not -name '*.*' -exec "$signpath" {} \;
#the above results in codesign --force --deep --verbose --sign "My Sign ID": No such file or directory
finden -exec scheint mit Anführungszeichen innerhalb von Variablen zu tun Probleme zu haben ... Was kann ich tun? :/
leider die 2 obigen Szenarien ergeben dasselbe wie mein drittes Szenario ... – user3767622
Die Array-Version sollte funktionieren. Escaped-Anführungszeichen funktionieren nicht, da "-exec" keine Shell zum Ausführen des Befehls verwendet, also werden Anführungszeichen nicht verarbeitet. – Barmar
@ user3767622: Funktioniert 'codesign --force --deep --verbose --zeichen" My Sign ID "'My App.app/Contents/Frameworks/MyFramework.framework/Versiones/5/MyFramework'' Befehl direkt aus dem Befehl Linie? – anubhava