diff --git a/zsh.d/50_cdtmp.zsh b/zsh.d/50_cdtmp.zsh index ea59079..24d8110 100644 --- a/zsh.d/50_cdtmp.zsh +++ b/zsh.d/50_cdtmp.zsh @@ -1,14 +1,17 @@ # vim: ft=zsh +export MY_TEMP_DIR_FILE="/tmp/${UID}_tmp_dir" + function cdtmp { - if [ -z "$MY_TEMP_DIR" ]; then + if [ -z "$(cat $MY_TEMP_DIR_FILE 2> /dev/null)" ]; then newtmp fi - cd "$MY_TEMP_DIR" + cd "$(cat $MY_TEMP_DIR_FILE)" || return } function newtmp { - export MY_TEMP_DIR="$(mktemp -d)" + MY_TEMP_DIR="$(mktemp -d)" + echo "$MY_TEMP_DIR" > $MY_TEMP_DIR_FILE echo "new tmp dir in $MY_TEMP_DIR" }