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

497
Ziggy

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

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

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

Похожие вопросы