Как выполнить команду в каждом подкаталоге?

Как выполнить команду в каждом подкаталоге?

Я использую Puppet и мне нужно создать символические ссылки между двумя папками. У меня около 10 папок с одинаковой структурой, и я всегда хочу выполнять команду ссылки в xx/yy/zz.

Что-то вроде этого:

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

Я попробовал следоватьэтиуказаний, но успеха не имели.

Есть ли простая в написании команда, которая может это сделать?

решение1

Правильным решением такой проблемы в Puppet является создание определенного типа:

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"]: }
}

Это создаст символическую ссылку, /folders_1_to_x/yy/fooуказывающую на /aa/bb/folder_to_link, и /folders_1_to_x/yy/barна /cc/dd/folder_to_link.

Я думаю, что все довольно просто, как это работает, но я могу пояснить, если нужно.

Связанный контент