add mkvoid - a command to create temporary dirs in memory

This commit is contained in:
Martinez 2017-09-30 15:42:16 +02:00
parent e8efacfd32
commit 574bc76127

View file

@ -113,6 +113,29 @@ swap-files() {
mv "$1" "$TMP" && mv "$2" "$1" && mv "$TMP" "$2" mv "$1" "$TMP" && mv "$2" "$1" && mv "$TMP" "$2"
} }
function die () {
echo "died during ${1}"
exit 1
}
function mkvoid () {
__MKVOID_TARGET="$1"
__MKVOID_PATH="${__MKVOID_TARGET:P}"
__MKVOID_DIR="${__MKVOID_PATH:h}"
__MKVOID_NAME="${__MKVOID_PATH:t}"
__MKVOID_ID="/dev/shm/void/${__MKVOID_PATH:l:gs/\///:gs/ //}"
mkdir -p "/dev/shm/void" || die "mkdir void"
mkdir "${__MKVOID_ID}" || die "mkdir shm"
mkdir -p "${__MKVOID_DIR}" || die "mkdir fs"
ln -s "${__MKVOID_ID}" "${__MKVOID_PATH}" || die "ln"
pushd "${__MKVOID_PATH}" > /dev/null || die "pushd"
zsh
popd > /dev/null
rm -f "${__MKVOID_PATH}" || die "rm link"
rm -rf "${__MKVOID_ID}" || die "rm void"
}
# history including search # history including search
HISTFILE=~/.history HISTFILE=~/.history
HISTSIZE=10000000 HISTSIZE=10000000