Resolve SC2012.

This commit is contained in:
Darko Poljak 2018-10-08 15:35:29 +02:00
parent ec186673bf
commit 0458f66c96
2 changed files with 25 additions and 20 deletions

View File

@ -33,8 +33,7 @@ destination_dir="${destination%/*}"
case "$type" in
symbolic)
cd "$destination_dir" || exit 1
# TODO SC2012: use readlink or something?
source_is=$(ls -l "$destination" | sed 's/.*-> //g')
source_is=$(readlink "$destination")
if [ -h "$destination" ]; then
# ignore trailing slashes for comparison
if [ "${source_is%/}" = "${source%/}" ]; then
@ -53,9 +52,13 @@ case "$type" in
echo sourcemissing
exit 0
fi
# TODO SC2012: use stat?
# Currently not worth the effor to change it, stat is not defined by POSIX
# and different OSes has different implementations for it.
# shellcheck disable=SC2012
destination_inode=$(ls -i "$destination" | awk '{print $1}')
# TODO SC2012: use stat?
# Currently not worth the effor to change it, stat is not defined by POSIX
# and different OSes has different implementations for it.
# shellcheck disable=SC2012
source_inode=$(ls -i "$source" | awk '{print $1}')
if [ "$destination_inode" -eq "$source_inode" ]; then
echo present

View File

@ -24,24 +24,26 @@
destination="/$__object_id"
if [ ! -e "$destination" ]; then
echo none
echo none
elif [ -h "$destination" ]; then
echo symlink
echo symlink
elif [ -f "$destination" ]; then
type="$(cat "$__object/parameter/type")"
case "$type" in
hard)
# TODO SC2012: use stat?
link_count=$(ls -l "$destination" | awk '{ print $2 }')
if [ "$link_count" -gt 1 ]; then
echo hardlink
exit 0
fi
;;
esac
echo file
type="$(cat "$__object/parameter/type")"
case "$type" in
hard)
# Currently not worth the effor to change it, stat is not defined by POSIX
# and different OSes has different implementations for it.
# shellcheck disable=SC2012
ink_count=$(ls -l "$destination" | awk '{ print $2 }')
if [ "$link_count" -gt 1 ]; then
echo hardlink
exit 0
fi
;;
esac
echo file
elif [ -d "$destination" ]; then
echo directory
echo directory
else
echo unknown
echo unknown
fi