From 978d4116ec19b7e43d99f227109cb25289ee311f Mon Sep 17 00:00:00 2001 From: bh Date: Tue, 31 Mar 2026 12:50:16 +0800 Subject: zsh: fix take function --- zsh/.zshrc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/zsh/.zshrc b/zsh/.zshrc index c9f5cbc..2d3f55f 100644 --- a/zsh/.zshrc +++ b/zsh/.zshrc @@ -100,7 +100,12 @@ takedir() { elif [[ $# -ge 2 ]]; then local dest="${@:$#}" mkdir -p "$dest" - mv "${@:1:$#-1}" "$dest" + local abs_dest srcs=() src + abs_dest=$(realpath "$dest") + for src in "${@:1:$#-1}"; do + [[ "$(realpath "$src" 2>/dev/null)" != "$abs_dest" ]] && srcs+=("$src") + done + [[ ${#srcs[@]} -gt 0 ]] && mv "${srcs[@]}" "$dest" cd "$dest" else echo "usage: take OR take " -- cgit v1.2.3