각 하위 디렉터리에서 명령을 어떻게 실행합니까?

각 하위 디렉터리에서 명령을 어떻게 실행합니까?

저는 Puppet을 사용하고 있으며 두 폴더 사이에 심볼릭 링크를 만들어야 합니다. 동일한 구조의 폴더가 약 10개 있고 항상 xx/yy/zz.

이 같은:

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

나는 다음을 시도했다이것들지시했지만 성공하지 못했습니다.

이를 수행할 수 있는 작성하기 쉬운 명령이 있습니까?

답변1

꼭두각시에서 이와 같은 것에 대한 적절한 해결책은 정의된 유형을 만드는 것입니다.

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.

이것이 어떻게 작동하는지는 매우 간단하다고 생각하지만 필요한 경우 명확히 할 수 있습니다.

관련 정보