Como você executa um comando / script do shell automaticamente ao digitar / cd-nd um diretório no Snow Leopard?

6

Desculpas se a resposta a isso for óbvia, mas ainda não consegui encontrar uma (talvez porque eu esteja procurando com a terminologia incorreta).

Eu estou em um Mac rodando o Snow Leopard e gostaria de saber se é possível ter um comando shell (ou um script) executado automaticamente quando eu entro / cd nesse diretório.

Um exemplo para ilustrar melhor a minha pergunta: Eu uso o RVM para gerenciar versões do Ruby. Ele emprega uma tática similar aos arquivos .rvmrc do projeto. Esses arquivos são executados quando o diretório em que eles estão contidos é inserido para usar a versão correta do Ruby para esse projeto específico.

Eu gostaria de fazer algo semelhante para exibir o conteúdo de um arquivo todo.txt quando eu inserir os arquivos que contêm o diretório.

    
por Mark Scholtz 14.05.2011 / 10:24

1 resposta

7

Adicione o seguinte ao seu ~/.bash_profile :

function cd {
    # actually change the directory with all args passed to the function
    builtin cd "$@"
    # if there's a regular file named "todo.txt"...
    if [ -f "todo.txt" ] ; then
        # display its contents
        cat todo.txt
    fi
}

É possível que você já tenha uma função semelhante para cd - basta estender essa para imprimir o conteúdo de todo.txt , se existir.

    
por 14.05.2011 / 11:43