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:
e517023
)
bug fix: fails when using -T and broken link dir
author
Ian Kelling
<ian@iankelling.org>
Tue, 9 Aug 2016 22:07:43 +0000
(15:07 -0700)
committer
Ian Kelling
<ian@iankelling.org>
Tue, 9 Aug 2016 23:09:51 +0000
(16:09 -0700)
lnf
patch
|
blob
|
history
diff --git
a/lnf
b/lnf
index b4701dff636fad888363677ddac4d716dfdea61d..d6dc5f23cc66c8ef0da2f6038516658d210bf6cf 100755
(executable)
--- a/
lnf
+++ b/
lnf
@@
-38,6
+38,7
@@
links to each TARGET in DIRECTORY."
local x ret prefix dir to_remove
local x ret prefix dir to_remove
+ local mkdir=false
to_remove=()
if [[ $nodir ]]; then
to_remove=()
if [[ $nodir ]]; then
@@
-45,13
+46,10
@@
links to each TARGET in DIRECTORY."
if [[ -e $2 || -L $2 ]]; then
to_remove+=("$2")
elif [[ ! -d $dir ]]; then
if [[ -e $2 || -L $2 ]]; then
to_remove+=("$2")
elif [[ ! -d $dir ]]; then
+ mkdir=true
if [[ -e $dir || -L $dir ]]; then
to_remove+=("$dir")
fi
if [[ -e $dir || -L $dir ]]; then
to_remove+=("$dir")
fi
- if ! mkdir -p "$(dirname "$2")"; then
- echo "lnf error: failed to make directory $(dirname "$2")"
- return 1
- fi
fi
elif (( $# >= 2 )); then
if [[ -d ${!#} ]]; then
fi
elif (( $# >= 2 )); then
if [[ -d ${!#} ]]; then
@@
-93,6
+91,14
@@
links to each TARGET in DIRECTORY."
fi
$reset_extglob && shopt -u extglob
fi
$reset_extglob && shopt -u extglob
+
+ if $mkdir; then
+ if ! mkdir -p "$(dirname "$2")"; then
+ echo "lnf error: failed to make directory $(dirname "$2")"
+ return 1
+ fi
+ fi
+
ln -s $nodir -- "$@"
}
lnf "$@"
ln -s $nodir -- "$@"
}
lnf "$@"