1

Скажем, я хотел скопировать файл .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 ... но этого не произошло.

Погуглив по поводу я нашел множество примеров расширения скобок, но ни одного, которые касались этого вопроса. Есть что-то, что я должен знать?

Спасибо!

1 ответ1

3

Это не расширение скобки. Это просто ... звездочка внутри фигурных скобок. Вам нужно будет использовать цикл for для этого.

for user in *
do
  cp "$user"/.ssh/authorized_keys /tmp/key_for_"$user"
done

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .