Manager: Check if no operation is selected, improve error formatting
This commit is contained in:
+24
-7
@@ -25,7 +25,7 @@ red="$(tput setf 4)"
|
||||
n="$(tput sgr0)"
|
||||
|
||||
if [ "$(dirname "$0")" != "." ]; then
|
||||
echo "${b}${red}Error: Please run this script from the directory it resides.${n}" >&2
|
||||
echo "${b}${red}Error:${n} please run this script from the directory it resides." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@@ -232,7 +232,7 @@ osDetect()
|
||||
elif echo "$idLike" | grep -q 'ubuntu'; then
|
||||
os="debian"
|
||||
else
|
||||
echo "Unsupported operating system." >&2
|
||||
echo "${b}${red}Error:${n} unsupported operating system." >&2
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
@@ -256,7 +256,7 @@ osDependencies()
|
||||
binary="$(echo "$pair" | cut -d ':' -f 1)"
|
||||
if ! command -v "$binary" > /dev/null; then
|
||||
dependency="$(echo "$pair" | cut -d ':' -f 2)"
|
||||
echo "Please install the '$dependency' dependency before running this option." >&2
|
||||
echo "${b}${red}Error:${n} required dependency '$dependency' is missing." >&2
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
@@ -344,12 +344,18 @@ eval set -- "$parsed"
|
||||
while true; do
|
||||
case "$1" in
|
||||
-F | --file)
|
||||
[ -n "$mode" ] && echo "${b}${red}Error: only one operation may be used at a time." >&2 && exit 1
|
||||
if [ -n "$mode" ]; then
|
||||
echo "${b}${red}Error:${n} only one operation may be used at a time." >&2
|
||||
exit 1
|
||||
fi
|
||||
mode="file"
|
||||
shift
|
||||
;;
|
||||
-P | --package)
|
||||
[ -n "$mode" ] && echo "${b}${red}Error: only one operation may be used at a time." >&2 && exit 1
|
||||
if [ -n "$mode" ]; then
|
||||
echo "${b}${red}Error:${n} only one operation may be used at a time." >&2
|
||||
exit 1
|
||||
fi
|
||||
mode="package"
|
||||
shift
|
||||
;;
|
||||
@@ -391,13 +397,21 @@ targetsNoHyphen="$(echo "$targets" | sed -E 's/(^-$|\s-|-\s)//g; s/(\s-\s)/ /;')
|
||||
|
||||
# Read targets from stdin
|
||||
if [ "$targets" != "$targetsNoHyphen" ]; then
|
||||
[ -t 0 ] && echo "${b}${red}Error: argument '-' specified without input on stdin." >&2 && exit 1
|
||||
if [ -t 0 ]; then
|
||||
echo "${b}${red}Error:${n} argument '-' specified without input on stdin." >&2
|
||||
exit 1
|
||||
fi
|
||||
eval set -- "$targetsNoHyphen $(cat /dev/stdin)"
|
||||
fi
|
||||
|
||||
# Execute
|
||||
# --------------------------------------
|
||||
|
||||
if [ -z "$mode" ]; then
|
||||
echo "${b}${red}Error:${n} no operation specified (use -h for help)" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "$mode" = "file" ]; then
|
||||
if [ -z "$options" ]; then
|
||||
files "list" "$@"
|
||||
@@ -406,7 +420,10 @@ if [ "$mode" = "file" ]; then
|
||||
|
||||
for option in $options; do
|
||||
if [ -z "$*" ]; then
|
||||
[ "$option" = "add" ] && echo "${b}${red}Error: No files or directories selected to add.${n}" >&2 && exit 1
|
||||
if [ "$option" = "add" ];then
|
||||
echo "${b}${red}Error:${n} no files or directories selected to add." >&2
|
||||
exit 1
|
||||
fi
|
||||
files "$option"
|
||||
continue
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user