Existe uma melhor para descobrir a localização do script que faz parte de um módulo zprezto?

1

Estou escrevendo um módulo personalizado para estender o framework zprezto para mim. O objetivo é ser capaz de iniciar um tmux com configuração apropriada pelo nome. Aqui está o código do init.zsh do meu módulo personalizado:

SCRIPT=${0:A}
export _MYTMUX_SDIR='dirname $SCRIPT'

function start_tmux {
    PROJECT_NAME=$1
    tmux has-session -t $PROJECT_NAME 2>/dev/null
    if [ "$?" -eq 1 ] ; then
        echo "No Session found. Creating and configuring..."
        tmux new-session -d -s $PROJECT_NAME
        tmux source-file ${_MYTMUX_SDIR}/tmux-${PROJECT_NAME}.conf
    else
        echo "Session found. Connecting."
    fi
    tmux attach-session -t $PROJECT_NAME
}


function start_aws {
    start_tmux aws
}

function start_digitalocean {
    start_tmux digitalocean
}

Eu sou forçado a exportar uma variável _MYTMUX_SDIR para acompanhar a localização do script. Isso é necessário porque os arquivos de configuração do tmux estão colocados com o script init.zsh do módulo.

Se eu colocar este código dentro do corpo da função, ele me dará o local do diretório onde a função é chamada.

Minha pergunta:

Existe uma maneira melhor de descobrir o local do script? Eu quero evitar colocar variáveis no ambiente desnecessariamente.

    
por Anthony Kong 22.02.2015 / 04:05

0 respostas

Tags