¿Por qué no se obtiene mi script bash al abrir un nuevo panel tmux?

¿Por qué no se obtiene mi script bash al abrir un nuevo panel tmux?

La siguiente lógica .bash_aliasespara eliminar rutas duplicadas funciona bien al abrir una nueva terminal:

# 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

Sin embargo, cuando inicio tmux o abro un nuevo panel, se duplican las exportaciones.
El siguiente ejemplo de exportación se realizó antes del ciclo anterior:

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

Resultados en:

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

Si obtengo recursos, .bash_aliaseslos duplicados se eliminan.
Nunca crea más de un duplicado de cada ruta.

Cualquier idea sobre lo que está pasando o sugerencias sobre cómo puedo localizar el problema sería muy apreciada.

Respuesta1

Encontré la respuesta justo después de publicarla, pero la dejaré por si alguien la necesita.

Pon la siguiente línea en tu .tmux.conf:

set-option -g default-command bash

información relacionada