1
0
Fork 0
mirror of https://github.com/notwa/rc synced 2024-05-18 09:53:22 -07:00

add an esoteric function to rotate PATHs

This commit is contained in:
Connor Olding 2022-08-29 22:06:15 -07:00
parent 07c2d3809c
commit 8c218457e8

View File

@ -36,6 +36,19 @@ ADDPATH() { ### @- append a directory to `$PATH` if it isn't already present.
esac
}
ROPATH() {
[ $# -eq 0 ] || { printf '%s: expected exactly %s arguments, got %s\n' ROPATH 0 $# >&2; return 2; }
local segment= previous= newpath= oldpath="$PATH:"
while segment="${oldpath%%:*}"; [ "$segment" != "$oldpath" ]; do
[ -z "$segment" ] || [ -z "$previous" ] || newpath="$newpath$previous:"
[ -z "$segment" ] || previous="$segment"
oldpath="${oldpath#*:}"
done
[ -z "$previous" ] || printf 'rotated %s\n' "$previous" >&2
[ -z "$previous" ] || newpath="$previous:$newpath"
export PATH="${newpath%:}"
}
# {{{1 configurations
umask 022 # umask should be reset else pip might make faulty installations.