모든 하위 디렉터리에서 명령을 실행하는 방법은 무엇입니까? [복사]

모든 하위 디렉터리에서 명령을 실행하는 방법은 무엇입니까? [복사]

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

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

관련 정보