bcb2f287e1
GitOrigin-RevId: d603719ec6e294f034936c0d0dc06f689d91b6c3
29 lines
463 B
Bash
29 lines
463 B
Bash
set -eu
|
|
|
|
args=()
|
|
declare -i path_args=0
|
|
|
|
while (( $# )); do
|
|
if (( $# == 1 )); then
|
|
if (( path_args > 1)) || [[ "$1" = */ ]]; then
|
|
mkdir -p "$1"
|
|
else
|
|
mkdir -p "$(dirname "$1")"
|
|
fi
|
|
fi
|
|
case $1 in
|
|
-C) ;;
|
|
-o | -g) shift ;;
|
|
-m | -l)
|
|
# handle next arg so not counted as path arg
|
|
args+=("$1" "$2")
|
|
shift
|
|
;;
|
|
-*) args+=("$1") ;;
|
|
*)
|
|
path_args+=1
|
|
args+=("$1")
|
|
;;
|
|
esac
|
|
shift
|
|
done
|