Das ist keine Klammererweiterung. Das ist nur ... ein Sternchen in Klammern. Sie müssen dazu eine for-Schleife verwenden.
for user in * do cp "$user"/.ssh/authorized_keys /tmp/key_for_"$user" done
Angenommen, ich wollte die .ssh/authorized_keys
Datei in das /home
Verzeichnis jedes Benutzers kopieren /tmp
(aus welchem Grund auch immer). Ich dachte, ich könnte Globbing und Brace Expansion verwenden, um dies schnell zu machen, aber ich bekam Probleme. Ich habe versucht, etwas key_for_{*}
zu verwenden, um für jeden Benutzer einen anderen Dateinamen zu erhalten. Mein Gedanke war, dass ich alles so kopieren könnte,
sudo cp */.ssh/authorized_keys /tmp/key_for_{*}
Ich habe erwartet /tmp
, Dateien wie /tmp/key_for_alice
, usw. zu haben /tmp/key_for_james
... aber so ist es nicht geschehen.
Beim Googeln habe ich viele Beispiele für die Erweiterung der Zahnspange gefunden, aber keine, die diese Frage ansprach. Gibt es etwas, was ich wissen sollte
Vielen Dank!
Das ist keine Klammererweiterung. Das ist nur ... ein Sternchen in Klammern. Sie müssen dazu eine for-Schleife verwenden.
for user in * do cp "$user"/.ssh/authorized_keys /tmp/key_for_"$user" done