From 574bc76127edc197d6697c776377c2347fa6f659 Mon Sep 17 00:00:00 2001 From: Martinez Date: Sat, 30 Sep 2017 15:42:16 +0200 Subject: [PATCH] add mkvoid - a command to create temporary dirs in memory --- dotfiles/system/etc/zsh/zshrc | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/dotfiles/system/etc/zsh/zshrc b/dotfiles/system/etc/zsh/zshrc index 147ac82..a8e4b3f 100644 --- a/dotfiles/system/etc/zsh/zshrc +++ b/dotfiles/system/etc/zsh/zshrc @@ -113,6 +113,29 @@ swap-files() { 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 HISTFILE=~/.history HISTSIZE=10000000