Estoy usando Puppet y necesito crear enlaces simbólicos entre dos carpetas. Tengo alrededor de 10 carpetas con la misma estructura y siempre quiero ejecutar mi comando de enlace en formato xx/yy/zz
.
Algo como esto:
ln -s aa/bb/folder_to_link folders_1_to_x/yy/link_name
Intenté seguirestosdirecciones pero no tuvo éxito.
¿Existe algún comando fácil de escribir que pueda lograr esto?
Respuesta1
La solución adecuada para algo como esto en Puppet es crear un tipo definido:
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"]: }
}
Esto creará un enlace simbólico /folders_1_to_x/yy/foo
para señalar /aa/bb/folder_to_link
y /folders_1_to_x/yy/bar
apuntar a /cc/dd/folder_to_link
.
Creo que es bastante sencillo cómo funciona esto, pero puedo aclararlo si es necesario.