1
0
Fork 0
mirror of synced 2024-06-26 08:41:10 -04:00

get rid of dependencies (pure bash)

This commit is contained in:
Martin Zuther 2019-12-29 15:53:01 +01:00
parent 45b218d5c1
commit 9c9a750009
No known key found for this signature in database
GPG key ID: 47D3346D758A37D8
2 changed files with 21 additions and 23 deletions

View file

@ -46,28 +46,24 @@ if [ ! -f "$YADM_CHECKSUMS" ]; then
exit "$YADM_HOOK_EXIT" exit "$YADM_HOOK_EXIT"
fi fi
# list encrypted files; try to satisfy the "list -a" argument and # list encrypted files
# beautify the output (requires "grep" and "sed") while IFS= read -r filename; do
if command -v grep > /dev/null && command -v sed > /dev/null; then
# remove checksums from file names # remove checksums from file names
while IFS= read -r filename; do filename="${filename##[a-zA-Z0-9]* }"
if [ $OPTION_LIST_ALL -eq 0 ]; then
# list only files in the subdirectories below (i.e. files
# whose relative path doesn't begin with "../")
REL_PATH=$(relative_path "$PWD" "$YADM_HOOK_WORK/$filename")
if ! echo "$REL_PATH" | grep '^\.\./' > /dev/null; then # list only files in the subdirectories below (i.e. files
echo "$REL_PATH" # whose relative path doesn't begin with "../")
fi if [ $OPTION_LIST_ALL -eq 0 ]; then
else REL_PATH=$(relative_path "$PWD" "$YADM_HOOK_WORK/$filename")
# list all files
echo "$filename" if [ "$REL_PATH" = "${REL_PATH##../}" ]; then
echo "$REL_PATH"
fi fi
done <<< "$(sed -r 's/^\S+\s+//' "$YADM_CHECKSUMS")" # list all files
else else
# just display checksum file echo "$filename"
cat "$YADM_CHECKSUMS" fi
fi done <<< "$(cat "$YADM_CHECKSUMS")"
# return original exit status of yadm command # return original exit status of yadm command
exit "$YADM_HOOK_EXIT" exit "$YADM_HOOK_EXIT"

View file

@ -83,10 +83,12 @@ if [ $ERROR_CODE -ne 0 ]; then
echo -e "\033[0;31m" echo -e "\033[0;31m"
while IFS= read -r line; do while IFS= read -r line; do
# try to beautify output (requires "grep" and "sed") # beautify output and get rid of unnecessary lines
if command -v grep > /dev/null && command -v sed > /dev/null; then line="${line%%*: [Oo][Kk]}"
echo "$line" | grep -iv "\sok$" | sed 's/^/ / ; s/: FAILED$// ; /^.*WARNING:.*did NOT match$/ d' line="${line%%: [Ff][Aa][Ii][Ll][Ee][Dd]}"
else line="${line##*WARNING:*did NOT match}"
if [ -n "$line" ]; then
echo "$line" echo "$line"
fi fi
done <<< "$YADM_CHECKSUM_OUTPUT" done <<< "$YADM_CHECKSUM_OUTPUT"