É possível usar a expansão de chave e globbing juntos?

1

Digamos que eu queira copiar o arquivo .ssh/authorized_keys no diretório /home de cada usuário para /tmp (por qualquer motivo). Imaginei que poderia usar a expansão globbing e brace para fazer isso rapidamente, mas tive problemas. Eu tentei usar algo como key_for_{*} para obter um nome de arquivo diferente para cada usuário. Meu pensamento era que eu poderia copiar tudo assim,

sudo cp */.ssh/authorized_keys /tmp/key_for_{*}

Eu esperava que /tmp tivesse arquivos como /tmp/key_for_alice , /tmp/key_for_james , & c ... mas não foi isso que aconteceu.

Pesquisando, encontrei vários exemplos de expansão de chaves, mas nenhum que abordasse essa questão. Há algo que eu deveria saber?

Obrigado!

    
por Ziggy 04.07.2011 / 22:01

1 resposta

3

Isso não é uma expansão de brace. Isso é só ... um asterisco dentro de chaves. Você precisará usar um loop for para isso.

for user in *
do
  cp "$user"/.ssh/authorized_keys /tmp/key_for_"$user"
done
    
por 04.07.2011 / 22:13