すべてのサブディレクトリでコマンドを実行するには? [コピー]

すべてのサブディレクトリでコマンドを実行するには? [コピー]

Puppetを使用していますが、2つのフォルダ間にシンボリックリンクを作成する必要があります。同じ構造のフォルダが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

私はこれが非常に簡単に動作すると思いますが、必要に応じて明確にすることができます。

関連情報