Это не расширение скобки. Это просто ... звездочка внутри фигурных скобок. Вам нужно будет использовать цикл for для этого.
for user in * do cp "$user"/.ssh/authorized_keys /tmp/key_for_"$user" done
Скажем, я хотел, чтобы скопировать .ssh/authorized_keys
файл в каждом пользователе /home
директории /tmp
(по любой причине). Я подумал, что мог бы использовать расширение и привязку, чтобы сделать это быстро, но столкнулся с проблемой. Я пытался использовать что-то вроде, key_for_{*}
чтобы получить разные имена файлов для каждого пользователя. Я думал, что я мог бы скопировать все, как это,
sudo cp */.ssh/authorized_keys /tmp/key_for_{*}
Я ожидал /tmp
иметь такие файлы, как /tmp/key_for_alice
, /tmp/key_for_james
& C ... но это не то, что случилось.
Погуглив по поводу я нашел множество примеров расширения скобок, но ни одного, которые касались этого вопроса. Есть что-то, что я должен знать?
Спасибо!
Это не расширение скобки. Это просто ... звездочка внутри фигурных скобок. Вам нужно будет использовать цикл for для этого.
for user in * do cp "$user"/.ssh/authorized_keys /tmp/key_for_"$user" done