Qual é a diferença entre “cd ~.” e “cd. ~ ”

2

Eu tentei cd . ~ no terminal e vi o mesmo resultado de quando digito cd ~ .

Eu quero saber como isso é feito. Ou melhor dizer qual é a prioridade dos argumentos que vem após um comando ?

    
por Mohammad Reza Rezwani 02.04.2014 / 14:19

2 respostas

5

Você viu o mesmo resultado porque tenho certeza de que você testou esses comandos do seu diretório pessoal que é /home/your_username equivalente com ~ - consulte A Expansão da campanha ou a variável de ambiente $HOME . Para testar corretamente, você deve usar:

cd / ; cd . ~

e:

cd / ; cd ~ .

Em geral, se você usar:

cd first_directory second_directory

você vai mudar o diretório de trabalho do shell para first_directory , não para second_directory , então o segundo argumento no comando cd é ignorado (veja também help cd para entender melhor).

E o . (ponto) neste caso é equivalente ao caminho do diretório de trabalho atual do shell que é dado pelo comando pwd (veja Atalho de linha de comando para o diretório atual semelhante a ~ para o diretório inicial? ).

Portanto, cd . ~ é equivalente a cd . , que é equivalente a cd $(pwd) e cd ~ . é equivalente a cd ~ , que é equivalente a cd $HOME .

    
por Radu Rădeanu 02.04.2014 / 14:38
2

Ele fornece o mesmo resultado porque você os está executando em seu diretório pessoal. Tente mudar para / tmp para observar um comportamento diferente.

Apenas o primeiro parâmetro posicional do comando cd é levado em conta:

cd: usage: cd [-L|[-P [-e]]] [dir]
    
por Sylvain Pineau 02.04.2014 / 14:27