Platzhalter sind oft problematisch, wenn sie nicht im Basisnamen stehen
Sie könnten das tun
find /opt/app/users/ -name demo -exec chown app:demo \{\} \;
Ich muss beim chown-Befehl Platzhalter verwenden. Beispiel:
# chown app:demo /opt/app/users/*/demo
Funktioniert aber nicht. Was kann ich machen?
Platzhalter sind oft problematisch, wenn sie nicht im Basisnamen stehen
Sie könnten das tun
find /opt/app/users/ -name demo -exec chown app:demo \{\} \;
Sie haben Ihr Muster eingeschlossen "double quotes"
, das die Dateinamenerweiterung (auch als Globbing bezeichnet ) verhindert:
Anführungszeichen: "..." verhindert einige Substitutionen, erlaubt aber andere. Jede Ersetzung, die mit einem Dollarzeichen $ beginnt, wird ausgeführt, ebenso wie die
...
Ersetzung (Backtick) des Befehls. Es wird auch ein Backslash-Escape ausgeführt. Es wird keine Wortaufteilung oder Dateinamenerweiterung durchgeführt .
Die Lösung besteht offensichtlich darin, Ihren Befehl ohne Anführungszeichen auszuführen, wie Jcbermu darauf hinweist:
chown storage:storage_clientes_bitac -R /home/storage/storage/Empresa/*/Bitacoras