AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / computer / Perguntas / 1650758
Accepted
Sridhar Sarnobat
Sridhar Sarnobat
Asked: 2021-05-22 13:01:18 +0800 CST2021-05-22 13:01:18 +0800 CST 2021-05-22 13:01:18 +0800 CST

Como o separador de linha de saída do shell não é redefinido?

  • 772

Eu executo um comando incorreto sobre ssh:

watch /bin/df | grep _23

Agora eu executo um comando como enve recebo isso:

LC_TERMINAL_VERSION=3.3.4
                         LC_TERMINAL=iTerm2
                                           LC_CTYPE=en_US.UTF-8
                                                               LC_COLLATE=en_US.UTF-8
                                                                                     LC_MESSAGES=en_US.UTF-8
                                                                                                            LC_MONETARY=en_US.UTF-8
                                                                                                                                   LC_NUMERIC=en_US.UTF-8
                                                                                                                                                         LC_TIME=en_US.UTF-8
                                                                                                                                                                            LC_ALL=en_US.UTF-8
                                                                SHELL=/usr/bin/zsh                                                                                                                                                                        SSH_TTY=/dev/pts/26
   TERM=xterm-256color
                      DISPLAY=localhost:16.0
                                            XDG_SESSION_ID=18040
                                                                XDG_RUNTIME_DIR=/run/user/1000
                                                                                              SHLVL=1

Parece que o separador de linha de saída é um avanço de linha, mas não um retorno de carro.

Mas não tenho certeza se isso só acontece por ssh. Acho que já vi esse comportamento depois de usar vimtambém.

Por que isso acontece e qual é a maneira mínima de redefini-lo? Eu costumo correr, source ~/.zshrcmas isso é um exagero.

ssh bash
  • 1 1 respostas
  • 130 Views

1 respostas

  • Voted
  1. Best Answer
    Scott - Слава Україні
    2021-05-23T08:10:03+08:002021-05-23T08:10:03+08:00

    É bem conhecido que Unix, Linux e outros sistemas do tipo Unix usam um único caractere para representar o final de uma linha de texto (EOL). Esse caractere é chamado de Newline e geralmente é representado como  \n. Isso é um pouco confuso, pois a maioria dos terminais de software (por exemplo,  xterm) e teletipos de hardware requerem dois caracteres de controle para avançar para uma nova linha: um Retorno de carro (CR) para mover o cursor (ou cabeça de impressão) para a margem esquerda e um Feed (LF) para mover o cursor uma linha para baixo sem mover horizontalmente (ou rolar a janela para cima ou enrolar o papel para cima). (O fato de Newline e LF serem numericamente o mesmo valor de byte aumenta a confusão.)

    Sistemas do tipo Unix lidam com isso traduzindo \npara CR + LF na saída do driver TTY. No entanto, você pode nem sempre querer que isso aconteça. Em particular, você não quer que isso aconteça se estiver se conectando a um sistema não-Unix via ssh. E  vimnão quer que isso aconteça; gosta de poder usar Newline como Cursor Down. Portanto, esse comportamento é opcional e programas como ssh e vimdesativá-lo. (Eles devem reativá-lo ao sair, mas às vezes as coisas não funcionam corretamente, por exemplo, se um programa for interrompido.)

    Como a maioria das opções de driver TTY, isso é controlado por stty. A opção é chamada onlcr, que significa

        na saída , quando você vê uma nova linha , também  produza um CR
    Se você fizer isso stty -a(para ver todas as configurações do stty), você verá onlcr (pode estar perto do início da penúltima linha). Se você fizer isso stty -aquando estiver no estado estranho, verá -onlcr, indicando que a opção está desativada.

    A solução simples para esse problema específico é digitar stty onlcrpara ativar a opção novamente. Mas esse é um inicialismo obscuro que pode ser difícil de lembrar. Além disso, se o programa (por exemplo, ssh ou  vim) mexeu com as configurações do stty, ele pode ter mexido com outras que não são tão óbvias. Há um comando fácil de lembrar para definir todas as configurações do stty de volta aos valores normais; isso é

    stty sane
    

    Como jhufford aponta , alguns sistemas possuem um resetcomando que também faz isso.

    • 1

relate perguntas

  • Notificar-enviar notificações aparecendo na janela

  • Exigir autenticação LDAP *e* autenticação ssh

  • Carregar chave “ec256.pem”: formato inválido é lançado ao tentar gerar chave pública a partir de chave privada

  • como abrir um arquivo de escritório do WSL

  • Por que chown 600 id_rsa corrige problemas de permissões?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como posso reduzir o consumo do processo `vmmem`?

    • 11 respostas
  • Marko Smith

    Baixar vídeo do Microsoft Stream

    • 4 respostas
  • Marko Smith

    O Google Chrome DevTools falhou ao analisar o SourceMap: chrome-extension

    • 6 respostas
  • Marko Smith

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Martin Hope
    Saaru Lindestøkke Por que os arquivos tar.xz são 15x menores ao usar a biblioteca tar do Python em comparação com o tar do macOS? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh Como posso reduzir o consumo do processo `vmmem`? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Pesquisa do Windows 10 não está carregando, mostrando janela em branco 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    v15 Por que uma conexão de Internet gigabit/s via cabo (coaxial) não oferece velocidades simétricas como fibra? 2020-01-25 08:53:31 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve