Por que eu pego um trem quando corro 'ls'?

27

Recentemente, notei algo estranho que não gosto muito:

Ao correr sl, eu pego um trem

Então, por que estou recebendo um trem ao correr ls? E como posso parar com isso e fazê-lo se comportar normalmente? Este é um ovo de Páscoa que eu descobri? Estou executando o Ubuntu GNOME 15.04.

Atualização de informações:

Correr which lsme dá o mesmo trem, e correr ls -l $(which ls)me dá outro tipo de trem.

A execução command -v lsnão produz nada. E correr command -v sltambém não gera nada.

Tudo isso pode ter algo a ver com o cowpacote (ou algo parecido) que eu instalei recentemente que prometeu 'facilitar um pouco as coisas'.

kos
fonte
14
Talvez alguém alias o lsque sl?
steeldriver
2
E agora sabemos por que você desejou converter um MP4 para um GIF animado anteriormente. Eu instalo slpor padrão apenas para dar uma risada quando engulo algo. Você provavelmente terá que unalias isso se você não fizer isso sozinho, apenas para dar uma boa risada.
KGIII 17/10/2015

Respostas:

34
  1. Tente remover o pacote engraçado via

    sudo apt-get purge sl 
    
  2. Verifique seus pseudônimos, por lsexemplo, no seu ~/.bashrcou ~/.profile.

  3. Verifique o binário /usr/games/sle exclua

    sudo rm /usr/games/sl
    
  4. Verifique a saída de

    strace sl |& grep execve
    strace ls |& grep execve
    

    se o ponto três não tiver sucesso.

  5. E, no futuro, NÃO instale nada que prometa 'aliviar um pouco as coisas' na descrição. ;)

AB
fonte
17

Geralmente, você pode anexar \ a um comando para desativar o alias apenas para essa instância da execução do comando. Por exemplo,

[2023] $ alias ls
alias ls = 'ls -F -Chs --color = tty'
[2024] $ ls
140K total
0 K bin / 0 Downloads @ 0 prog.git @
...

[2025] $ \ ls
bin Downloads doc.git freertos.git prog.git tmp
...

Portanto, recomendo tentar seus ls com um '\' precedido

Em seguida, você pode tentar executar o comando ls diretamente com o caminho completo.

/ bin / ls

Em seguida, comando / bin / ls

Além disso, verifique seu caminho,

eco $ PATH
verifique se / bin é a primeira entrada.
$ PATH = / usr / bin: / usr / local / bin: / usr / bin: / bin: / sbin: / usr / sbin: usr / local / sbin: / usr / local / bin

Mas acredito que a remoção cowajudaria.

Om Narasimhan
fonte