cd comando não está funcionando

0

Assim, toda vez que tento navegar para um diretório, ele me envia esta mensagem, mas quando eu naveguei para o diretório de desktops, ele fez exatamente isso

    
por William Aaronson 09.10.2017 / 02:20

1 resposta

0

Parece que o @steeldriver está correto, seu exemplo tem algo invisível antes do cd. Um espaço seria inofensivo, vamos considerar suas opções se for apenas um espaço.

No seu terminal, você vê o que eu vejo?

$ type cd
cd is a shell builtin

Não tenho certeza se "shell builtin" se refere à funcionalidade de / bin / sh ou a um shell como / bin / bash ou / bin / dash. Meu primeiro palpite o que isso vem da casca, em vez de sh. Certifique-se de que seu ambiente tenha um $ SHELL especificado.

$ echo $SHELL
/bin/bash

Se você mexeu na sua sessão, seja interativamente com comandos como "exportar ..." ou executando scripts ou editando o .bashrc, poderá causar o problema que você vê. Verifique sua variável SHELL.

Provavelmente, você vê alguns $ SHELL legais. Certifique-se de que a saída menciona um arquivo que existe atualmente.

$ ls -la /bin/bash
-rwxr-xr-x 1 root root 1099016 May 16 06:35 /bin/bash

Talvez você veja traço ou algo assim.

Você consegue um novo terminal para ver se a mesma coisa acontece? Cada terminal lançará seu próprio shell, o problema pode aparecer de forma diferente ou não aparecer. Se o problema é o mesmo, significa que o problema está na sua configuração ou nos próprios arquivos do shell.

Supondo que você tenha o pacote bash instalado ou qualquer outro shell, execute um novo shell nesse terminal (-l significa shell de login):

$ bash -l

O problema é mesmo depois disso?

Se isso for uma falha, eu usaria a linha de comando para instalar / reinstalar os programas da shell. Eu tenho tanto bash e traço:

$ dpkg -l | grep bash
ii  bash                      
4.4-2ubuntu1.1              amd64        GNU Bourne Again SHell

$ dpkg -l | grep dash   
ii  dash                                                            
0.5.8-2.3ubuntu1            amd64        POSIX-compliant shell

Na sua situação, tentaria uma reinstalação

$ apt-get install --reinstall bash

ou algo parecido. Há uma chance de que, se você danificou um arquivo shell, isso consertará quando você fizer logout e login.

Por que reinstalar o dash? No Ubuntu, mesmo que eu faça o BASH meu shell, parece que o / sbin / sh é fornecido por traço:

$ dpkg -S /bin/sh
diversion by dash from: /bin/sh
diversion by dash to: /bin/sh.distrib
dash: /bin/sh

Um pensamento final. Se alguém tentar hackear seu sistema e assumir o controle dele, uma das coisas que ele pode fazer é tentar substituir seu shell. Isso pode explicar o problema que você vê, embora eu admita que parece dramático trazer isso à tona.

    
por pauljohn32 09.10.2017 / 06:00