Como o CD muda o diretório para o caminho absoluto de um diretório simbólico?

7

Atualmente, estou em um diretório de link simbólico e quero subir um nível no caminho absoluto, mas não consigo, pois ele me levará de volta ao meu diretório inicial (~). Eu posso fazer pwd -P para obter o caminho absoluto, mas como canalizar esse resultado para o comando cd? Eu sempre achei que era isso: {}

Amostra:

10:21:55 {master *} ~/ch$ pwd -P 
/home/drupal/sites/all/themes/house

10:22:16 {master *} ~/ch$ pwd -P | cd {}
bash: cd: {}: No such file or directory

10:22:20 {master *} ~/ch$ 
    
por Patoshi パトシ 22.10.2014 / 19:25

2 respostas

9

Isso funciona para mim:

cd 'pwd -P'

Você também pode usar cd -P da seguinte forma:

cd -P ~/ch

ou se você já estiver no diretório de links simbólicos:

cd -P .
    
por 22.10.2014 / 19:32
3

Você pode inserir a saída de algum comando na linha de comando com o operador de substituição de comandos $(...) .

Por exemplo, isso irá para o diretório de trabalho físico atual (todos os links simbólicos resolvidos):

cd $(pwd -P)

Para subir um nível (seu objetivo final, como eu entendi):

cd $(pwd -P)/..
    
por 22.10.2014 / 20:15

Tags