为什么需要重复文件名?

时间:2014-06-01 13:21:57

标签: linux bash puppet augeas

如果我这样做

augtool --noautoload --transform "sshd incl /etc/ssh/sshd_config" ls "/files/etc/ssh/sshd_config/"

然后我得到了/etc/ssh/sshd_config的树结构,但是在这里我写了两次文件路径,最后一次以/files为前缀。

问题

是否可以这样做,但只指定文件路径?

1 个答案:

答案 0 :(得分:3)

默认情况下,Augeas会加载它知道的所有文件,这可能会很慢。

为防止这种情况发生,您的命令会使用--noautoload来绕过自动从镜头加载文件。虽然这使得Augeas更快,但也意味着它不再了解/etc/ssh/sshd_config,因此您需要再次手动将此文件映射到Sshd.lns镜头,这是通过{{1 }}

这是另一种可能性(来自augeas-sandbox)加载Augeas已知的任何文件并绕过其他镜头:

--transform Sshd.lns incl /etc/ssh/sshd_config

此脚本将使用自动加载语句,因此您不必指定要使用的镜头,但它只会为您的文件加载所需的镜头,从而使Augeas更快。此外,它设置#!/bin/sh FILE=$1 if [ -z "$FILE" ]; then echo "Usage: $0 <FILE>" exit 1 fi augtool -L -i <<EOF rm /augeas/load/*["$FILE"!~glob(incl) or "$FILE"=~glob(excl)] load set /augeas/context /files$FILE EOF ,因此您可以使用相对路径:

/augeas/context