O que é o prompt de sinal de porcentagem em um shell?

15

Enquanto assistia a um vídeo, vi o seguinte:

% more tinyUF.txt
10
4 3
3 8
6 5

O que é esse sinal % antes do comando more ?

    
por Max Koretskyi aka Wizard 03.05.2017 / 09:15

1 resposta

28

Esse é o prompt do shell, ou mais precisamente, é o prompt principal do shell ( há vários ). É a maneira do shell de dizer " vá em frente, estou pronto para entrar agora ".

O prompt % é comum em shells csh -type, enquanto sh -shells (como bash e ksh93 ) normalmente usa $ como prompt.

O prompt geralmente muda para # para o usuário root, já que um usuário suficientemente poderoso deve ser lembrado desse poder por ter um prompt alternativo (como o padrão POSIX coloca).

O prompt principal em shells sh -type é determinado pelo valor da variável do shell PS1 .

Resumo dos comentários abaixo, com acréscimos:

O caractere # do prompt raiz (usado pelo sh e csh shells) coincide com o caractere de comentário do shell comum. Copiar e colar um comando como root tornaria o comando colado inoperável, se o prompt do shell também fosse copiado. Observe que # foi adotado como o prompt de root antes que o shell tivesse uma convenção de comentários (referência: email de Doug McIlroy ).

As conchas es e rc do Plano 9 usam o caractere ; como o prompt padrão. Uma conseqüência disso é que copiar e colar um comando, incluindo o prompt, ainda significará que o comando colado é válido (e será executado).

Uma maneira de permitir que um cliente tenha um prompt de shell customizado, mas ainda passível de copiar, seria usar : something ; , onde something poderia ser o diretório atual, hostname ou time, por exemplo.

    
por 03.05.2017 / 09:19