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")"
if [ -z "$state_is" ]; then
printf 'The file "%s" is missing. Please create it before using %s on it.\n' "$file" "${__type##*/}" >&2
exit 1
if [ -f "$__object/parameter/create" ]; then
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
if [ "$state_should" = "$state_is" ] || \

View file

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