iankelling.org
/
git
/
lnf
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
7c25f51
)
refactor, better var names, remove dup code
author
Ian Kelling
<ian@iankelling.org>
Mon, 13 Feb 2017 20:47:07 +0000
(12:47 -0800)
committer
Ian Kelling
<ian@iankelling.org>
Mon, 13 Feb 2017 20:47:07 +0000
(12:47 -0800)
lnf
patch
|
blob
|
history
diff --git
a/lnf
b/lnf
index 50d8c3a63f75eb23b4b9d8fea7fbc8644e8481e4..1ab1cdf95689cdb5b754d6cc7e25559ca106baf1 100755
(executable)
--- a/
lnf
+++ b/
lnf
@@
-35,6
+35,7
@@
Do export LNF_VERBOSE=true for verbose output
fi
fi
fi
fi
+
local reset_extglob=false
! shopt extglob >/dev/null && reset_extglob=true
shopt -s extglob
local reset_extglob=false
! shopt extglob >/dev/null && reset_extglob=true
shopt -s extglob
@@
-45,18
+46,20
@@
Do export LNF_VERBOSE=true for verbose output
to_remove=()
if [[ $nodir ]]; then
to_remove=()
if [[ $nodir ]]; then
- dir="$(dirname "$2")"
- if [[ -e $2 || -L $2 ]]; then
- to_remove+=("$2")
- elif [[ ! -d $dir ]]; then
+ dest_file="$2"
+ dest_dir="$(dirname "$dest_file")"
+ if [[ -e $dest_file || -L $dest_file ]]; then
+ to_remove+=("$dest_file")
+ elif [[ ! -d $dest_dir ]]; then
mkdir=true
mkdir=true
- if [[ -e $d
ir || -L $
dir ]]; then
+ if [[ -e $d
est_dir || -L $dest_
dir ]]; then
to_remove+=("$dir")
fi
fi
elif (( $# >= 2 )); then
to_remove+=("$dir")
fi
fi
elif (( $# >= 2 )); then
- if [[ -d ${!#} ]]; then
- prefix="${!#}/" # last arg
+ dest_dir="${!#}"
+ if [[ -d $dest_dir ]]; then
+ prefix="$dest_dir/" # last arg
for x in "${@:1:$(( $# - 1 ))}"; do # all but last arg
# Remove 1 or more trailing slashes, using.
x="${x%%+(/)}"
for x in "${@:1:$(( $# - 1 ))}"; do # all but last arg
# Remove 1 or more trailing slashes, using.
x="${x%%+(/)}"
@@
-65,10
+68,7
@@
Do export LNF_VERBOSE=true for verbose output
[[ -e "$x" || -L "$x" ]] && to_remove+=("$x")
done
else
[[ -e "$x" || -L "$x" ]] && to_remove+=("$x")
done
else
- if ! mkdir -p "${!#}"; then
- echo "lnf error: failed to make directory ${!#}"
- return 1
- fi
+ mkdir=true
fi
elif [[ $# -eq 1 ]]; then
[[ -e "${1##*/}" || -L "${1##*/}" ]] && to_remove+=("${1##*/}")
fi
elif [[ $# -eq 1 ]]; then
[[ -e "${1##*/}" || -L "${1##*/}" ]] && to_remove+=("${1##*/}")
@@
-102,8
+102,8
@@
Do export LNF_VERBOSE=true for verbose output
$reset_extglob && shopt -u extglob
if $mkdir; then
$reset_extglob && shopt -u extglob
if $mkdir; then
- if ! mkdir -p "$
(dirname "$2")
"; then
- echo "lnf error: failed to make directory $
(dirname "$2")
"
+ if ! mkdir -p "$
dest_dir
"; then
+ echo "lnf error: failed to make directory $
dest_dir
"
return 1
fi
fi
return 1
fi
fi