새 tmux 창을 열 때 내 bash 스크립트가 소스로 제공되지 않는 이유는 무엇입니까?

새 tmux 창을 열 때 내 bash 스크립트가 소스로 제공되지 않는 이유는 무엇입니까?

.bash_aliases새 터미널을 열 때 중복 경로를 제거하는 다음 논리가 제대로 작동합니다.

# prune duplicate paths
PATHS=("PATH" "LD_LIBRARY_PATH" "C_INCLUDE_PATH")
for P in "${PATHS[@]}"; do
    source $HOME/bin/prune_paths $P
done

~/bin/prunepaths

#!/bin/bash

path_name=$1
curr_paths=${!path_name}

# split paths string into an array of paths
IFS=':' read -ra path_array <<< "$curr_paths"

# filter out duplicates and elements containing single quotes
declare -a unique_path_array=()
for element in "${path_array[@]}"; do
    if [[ ! " ${unique_path_array[@]} " =~ " ${element} " ]] && [[ ! "$element" =~ "'" ]]; then
        unique_path_array+=("$element")
    fi
done

# concatenate unique paths
final_paths=$(IFS=':'; echo "${unique_path_array[*]}")

export $path_name=$final_paths

그러나 tmux를 시작하거나 새 창을 열면 내보내기가 중복됩니다.
위 루프 이전에 다음 내보내기 예제가 수행되었습니다.

export PATH=$HOME/bin:$HOME/.local/bin:$PATH

결과:

/home/bob/.local/bin
/home/bob/bin
/home/bob/bin
/home/bob/.local/bin
...

리소스를 확보하면 .bash_aliases중복 항목이 제거됩니다.
각 경로의 복제본은 두 개 이상 생성되지 않습니다.

무슨 일이 일어나고 있는지에 대한 아이디어나 문제를 추적할 수 있는 방법에 대한 제안을 주시면 감사하겠습니다.

답변1

게시 직후 답변을 찾았지만 혹시 필요한 분이 계시다면 남겨두겠습니다.

다음 줄을 다음 줄에 넣으세요 .tmux.conf:

set-option -g default-command bash

관련 정보