o que "ls '" significa no Linux?


13

Digitei acidentalmente ls'e recebi uma interface interativa: > O que é isso?

Eu tentei pesquisar na internet, não encontrei nada.

Respostas:


34

Esse comportamento é agnóstico. Você abriu uma cotação, o shell está exibindo $PS2a variável global ( $PS2é a >saída) enquanto a segunda cotação está ausente.

Você pode alterar o PS2 com o que deseja:

Ex: export PS2=">>>"

O valor de $ PS2 é impresso (após a expansão) como o prompt secundário para mais dados quando o bash estiver em execução interativa. Veja man bash, em PROMPTING.


2
Você tem bons olhos para identificar as aspas simples perdidas.

1
Informações adicionadas: para sair, basta inserir outra aspas simples ou pressionar ctrl-c.
Oct

Não exatamente lendo stdin; você pode inserir uma cotação de várias linhas em um script ou algo assim; mas o prompt secundário é exibido em uma sessão interativa quando você entra uma nova linha dentro de uma string, um loop inacabada, etc.
tripleee

1
Melhor utilização ctrl-d, em vez de ctrl-c como EOF (End Of Arquivo)
Gilles Quenot

obrigado, BTW o que significa PS2?
Anders Lind

5
-bash-4.1$ ls'
>

significa que você abre uma sequência longa com 'e não a fechou, então o bash aguarda a sequência (argumento) terminar com'

Use lssem 'no final.


0

"PS" significa (provavelmente) "string de prompt". PS1 é o que o shell exibirá como prompt de linha de comando do processo do shell. O PS2 é exibido quando mais entradas são necessárias para concluir o comando (sequência não citada, leitura de stdin, etc.). man bashdepois pesquise PS1 ou PS2 ( /PS[12]<CR>)

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.