Existe algum caso em que o 'cd'. (ponto único) comando poderia ser útil?

5

Isso teoricamente deveria ser apenas redundante, já que ele muda para o diretório de trabalho atual. Enfim, existe algum cenário na prática, onde este comando pode ser útil?

    
por Anthony Pollmann 04.06.2018 / 23:16

3 respostas

3

Há outro efeito menor, define $OLDPWD .

Essa variável deve estar vazia quando você inicia um novo terminal até você cd em algum lugar.

E há um uso possível em que posso pensar, o que pode não ser muito útil (e um pouco ingênuo), mas aqui está:

cd - navega para $OLDPWD , portanto você pode usar em combinação com cd . para navegar e voltar para o mesmo diretório após alguma operação:

cd .; for i in {1..100}; do cd -;mkdir "d$i"; cd "d$i"; touch a; done

Não é algo que eu faria em um script, mas talvez diretamente na linha de comando ou em algum código de golfe ...

    
por 12.06.2018 / 09:52
2

Pelo menos dois casos vêm imediatamente a minha mente, onde cd . pode ser útil:

  • Atualize o número do inode do diretório atual

    Digamos que em terminal1 você esteja dentro de algum diretório e em outro terminal2 você apague esse diretório e crie um novo diretório com o mesmo nome do diretório deletado. Então, para poder fazer o que for útil dentro desse diretório (por exemplo, criar um arquivo) em termminal1 , você pode fazer cd . o que atualizará o número de inode desse diretório.

  • Resolver diretórios fisicamente

    Se o nome do diretório for um link simbólico, você poderá cd -P . resolver os componentes do link fisicamente. Esse recurso vem diretamente do POSIX. Sim, isso requer -P opção, então não é nua cd . , mas ainda assim ...

por 04.06.2018 / 23:44
1

Embora cd . seja essencialmente uma operação nula, posso ver um caso em que pushd . poderia presumivelmente ser relevante.

Além disso, em um script em que um diretório de destino é especificado interativamente, proceduralmente ou de um argumento, um comando como:

cd $destinationpath

pode ser avaliado como

cd .

a variável deve ser atribuída.

    
por 04.06.2018 / 23:26