diff options
author | Aleksey Veresov <aleksey@veresov.pro> | 2020-12-06 22:02:01 +0300 |
---|---|---|
committer | Aleksey Veresov <aleksey@veresov.pro> | 2020-12-06 22:02:01 +0300 |
commit | ae3ad126181f6f974941190848ed9532edbfc6c5 (patch) | |
tree | 80409992c8bb496c30959fb09e281db44538ba23 | |
parent | c8550c2ba6bc3f80cbad499a6997d0b903580599 (diff) | |
download | vsvs-ae3ad126181f6f974941190848ed9532edbfc6c5.tar vsvs-ae3ad126181f6f974941190848ed9532edbfc6c5.tar.xz vsvs-ae3ad126181f6f974941190848ed9532edbfc6c5.zip |
.
-rw-r--r-- | vsvs-archive | 1 | ||||
-rw-r--r-- | vsvs-locate | 14 |
2 files changed, 14 insertions, 1 deletions
diff --git a/vsvs-archive b/vsvs-archive index aea12ef..e328157 100644 --- a/vsvs-archive +++ b/vsvs-archive @@ -1,6 +1,5 @@ #!/bin/bash # Current directory will be represented as VSVS archive in output. -# The directory itself should be locked. for e in `ls -a` do test "$e" == "." || test "$e" == ".." && continue diff --git a/vsvs-locate b/vsvs-locate new file mode 100644 index 0000000..009eccc --- /dev/null +++ b/vsvs-locate @@ -0,0 +1,14 @@ +#!/bin/bash +# Tear $1 into path to file (or directory) and in file, +# if no such file exit with error. +after () { test -z "${2##*$1*}" && echo -n "${2#*$1}"; } +test "${1::1}" == "/" && path=$base || path="." +lastpath=$1 +until test -n "$lastpath" || test -f "$path" +do + path="$path/${lastpath%%/*}" + lastpath=$(after / "$lastpath") + test -e "$path" || exit 1 +done +echo "$path" +echo "$lastpath" |