add create and ifexists to line type

This commit is contained in:
stephan 2022-07-28 16:27:12 +02:00
parent 483f0c1614
commit 6243165645
2 changed files with 16 additions and 2 deletions

View file

@ -34,8 +34,16 @@ state_should="$(cat "$__object/parameter/state")"
state_is="$(cat "$__object/explorer/state")" state_is="$(cat "$__object/explorer/state")"
if [ -z "$state_is" ]; then if [ -z "$state_is" ]; then
printf 'The file "%s" is missing. Please create it before using %s on it.\n' "$file" "${__type##*/}" >&2 if [ -f "$__object/parameter/create" ]; then
exit 1 echo "touch $file"
else
# only bark if the file should exists
if [ -f "$__object/parameter/ifexists" ]; then
exit 0
fi
printf 'The file "%s" is missing. Please create it before using %s on it.\n' "$file" "${__type##*/}" >&2
exit 1
fi
fi fi
if [ "$state_should" = "$state_is" ] || \ if [ "$state_should" = "$state_is" ] || \

View file

@ -21,6 +21,9 @@ OPTIONAL PARAMETERS
after after
Insert the given line after this pattern. Insert the given line after this pattern.
create
It the file does not exist then create an empty file
before before
Insert the given line before this pattern. Insert the given line before this pattern.
@ -28,6 +31,9 @@ file
If supplied, use this as the destination file. If supplied, use this as the destination file.
Otherwise the object_id is used. Otherwise the object_id is used.
ifexists
Only apply the line if the file exists.
line line
Specifies the line which should be absent or present. Specifies the line which should be absent or present.