Como executo um comando em cada subdiretório? [duplicado]

2

Estou usando o Puppet e preciso criar links simbólicos entre duas pastas. Eu tenho cerca de 10 pastas com a mesma estrutura e sempre quero executar meu comando de link em xx/yy/zz .

Algo parecido com isto:

ln -s aa/bb/folder_to_link  folders_1_to_x/yy/link_name

Eu tentei seguir estas instruções, mas não tive sucesso.

Existe um comando fácil de escrever que possa realizar isso?

    
por Pulz 10.10.2014 / 16:16

1 resposta

1

A solução adequada para algo assim no fantoche é criar um tipo definido:

define folder_link (
 $link_map = $name,
) {
 $link_map_split = split($link_map, ':')
 $origin = $link_map_split[0]
 $link_name = $link_map_split[1]
 $link_path = "/folders_1_to_x/yy/$link_name"

 file { $link_path:
  ensure => link,
  target => $origin,
 }
}


class foo {
 folder_link { ["/aa/bb/folder_to_link:foo", "/cc/dd/folder_to_link:bar"]: }
}

Isso irá ligar simbolicamente /folders_1_to_x/yy/foo para apontar para /aa/bb/folder_to_link e /folders_1_to_x/yy/bar para apontar para /cc/dd/folder_to_link .

Eu acho bastante simples como isso funciona, mas posso esclarecer se necessário.

    
por 10.10.2014 / 16:34

Tags