Можно ли использовать расширение скобок и сглаживание вместе?

Скажи, что я хотел скопировать .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 ответ

Решение

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

for user in *
do
  cp "$user"/.ssh/authorized_keys /tmp/key_for_"$user"
done
Другие вопросы по тегам