如何在每個子目錄中執行指令?

如何在每個子目錄中執行指令?

我正在使用 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

我認為它的工作原理非常簡單,但如果需要我可以澄清。

相關內容