iankelling.org
/
git
/
lnf
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
minor doc update
[lnf]
/
lnf
diff --git
a/lnf
b/lnf
index b4701dff636fad888363677ddac4d716dfdea61d..ac5ebcc020d04c0a49999bc2488080a5fbbba675 100755
(executable)
--- a/
lnf
+++ b/
lnf
@@
-1,5
+1,5
@@
#!/bin/bash
#!/bin/bash
-# Copyright (C) 2014 Ian Kelling
+# Copyright (C) 2014
-2016
Ian Kelling
# This program is under GPL v. 3 or later, see <http://www.gnu.org/licenses/>
lnf() {
# This program is under GPL v. 3 or later, see <http://www.gnu.org/licenses/>
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 "$@"