forked from ungleich-public/cdist
use while read -> avoids ifs problem
Signed-off-by: Nico Schottelius <nico@bento.schottelius.org>
This commit is contained in:
parent
ce0f779664
commit
a126bd955f
1 changed files with 6 additions and 10 deletions
|
@ -71,21 +71,17 @@ _cksum() {
|
||||||
echo "$1" | cksum | cut -d' ' -f 1
|
echo "$1" | cksum | cut -d' ' -f 1
|
||||||
}
|
}
|
||||||
|
|
||||||
# Add each key
|
while read key; do
|
||||||
IFS=$'\n'
|
cksum_key="$(_cksum "$key")"
|
||||||
for key in $(cat "$__object/parameter/key"); do
|
|
||||||
unset IFS
|
|
||||||
raw_key="$(echo "$key" | tr ' ' '\n' | awk '/^ssh-(rsa|dsa)/ {printf $1" ";getline;printf $1}')"
|
|
||||||
|
|
||||||
cksum_key="$(_cksum "$raw_key")"
|
|
||||||
line_id="${owner}-${cksum_key}"
|
line_id="${owner}-${cksum_key}"
|
||||||
|
|
||||||
set -- "$line_id"
|
set -- "$line_id"
|
||||||
set -- "$@" --file "$file"
|
set -- "$@" --file "$file"
|
||||||
set -- "$@" --regex ".*$raw_key.*"
|
set -- "$@" --regex ".*$key.*"
|
||||||
if [ "$state" = 'present' ]; then
|
if [ "$state" = 'present' ]; then
|
||||||
set -- "$@" --line "$key"
|
set -- "$@" --line "$key"
|
||||||
fi
|
fi
|
||||||
set -- "$@" --state "$state"
|
set -- "$@" --state "$state"
|
||||||
require="__block/$__object_name" __line "$@"
|
# Ensure __line does not read stdin
|
||||||
done
|
require="__block/$__object_name" __line "$@" < /dev/null
|
||||||
|
done < "$__object/parameter/key"
|
||||||
|
|
Loading…
Reference in a new issue