From ae3ad126181f6f974941190848ed9532edbfc6c5 Mon Sep 17 00:00:00 2001 From: Aleksey Veresov Date: Sun, 6 Dec 2020 22:02:01 +0300 Subject: . --- vsvs-locate | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 vsvs-locate (limited to 'vsvs-locate') 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" -- cgit v1.2.3