script para lembrar dir e sempre cd para ele em vez do diretório raiz

3

Como pode escrever um script para mudar para um determinado diretório, mas também se lembrar dele para que, quando você fizer o cd, ele sempre mude para esse diretório?

#!/bin/bash
setdir() {
    cd $1
    # remember the directory we are changing to here so whenever we do cd we go back to this set dir
}

setdir "$1"
    
por nixgadgets 25.11.2013 / 22:29

1 resposta

4

Algo como o seguinte deve funcionar:

setdir() {
    cd "$1"
    export SETDIR_DEFAULT="$1"
}

my_cd() {
    cd "${1-${SETDIR_DEFAULT-$HOME}}"
}

Observe que estas são funções, não um script separado. Você não pode fazer isso a partir de um script separado, uma vez que não seria capaz de afetar o shell pai que o chama.

Se você realmente quiser substituir cd (por favor, não faça isso), substitua cd por builtin cd .

    
por 25.11.2013 / 22:55