浏览代码

last-working-dir: disable chpwd_last_working_dir in subshells (#6817)

Xiao Fan 7 年之前
父节点
当前提交
18effd77db
共有 1 个文件被更改,包括 4 次插入2 次删除
  1. 4 2
      plugins/last-working-dir/last-working-dir.plugin.zsh

+ 4 - 2
plugins/last-working-dir/last-working-dir.plugin.zsh

@@ -4,8 +4,10 @@ typeset -g ZSH_LAST_WORKING_DIRECTORY
 # Updates the last directory once directory is changed
 chpwd_functions+=(chpwd_last_working_dir)
 chpwd_last_working_dir() {
-	local cache_file="$ZSH_CACHE_DIR/last-working-dir"
-	pwd >| "$cache_file"
+	if [ "$ZSH_SUBSHELL" = 0 ]; then
+		local cache_file="$ZSH_CACHE_DIR/last-working-dir"
+		pwd >| "$cache_file"
+	fi
 }
 
 # Changes directory to the last working directory