O que são símbolos de prompt especiais para o suporte sh do busybox?

4

Eu quero configurar uma solicitação de horário no PS1. Mas, não há documento sobre quais são os símbolos que o busybox suporta.

Existe alguém que saiba? Aqui estão tudo o que eu sabia.

PS1='\u@\h: \w \$'
    
por Daniel YC Lin 24.01.2013 / 04:01

1 resposta

9

BusyBox tem duas conchas, cinzas e silêncio. Para ver qual você tem, execute type chdir : o ash como um construído (sinônimo de cd ), hush não. Ambos possuem um recurso de expansão de prompt opcional. O Ash's é ativado ativando o recurso ASH_EXPAND_PRMT no tempo de compilação, enquanto o hush requer FEATURE_EDITING_FANCY_PROMPT .

Quando esse recurso está presente, em cinza o valor de PS1 é expandido como uma cadeia de caracteres com aspas duplas: as construções $foo , $(command) e 'command' são expandidas.

Algumas fugas de barra invertida são processadas (em cinza, após substituições). Eles são um subconjunto do bash.

  • \! : contagem de histórico de linha
  • \a : sino
  • \b : backspace
  • \e , \E : escape
  • \f : feed de formulário
  • \h : nome do host
  • \n : newline
  • \r : retorno de carro
  • \t : guia
  • \u : nome de usuário (somente com FEATURE_GETUSERNAME_AND_HOMEDIR )
  • \v : guia vertical
  • \w : diretório atual, com ~ para o diretório inicial (somente com FEATURE_GETUSERNAME_AND_HOMEDIR )
  • \W : diretório atual (não abreviado)
  • \xHH ou \XHH em que HH são dois dígitos hexadecimais: um caractere dado pelo seu código hexadecimal
  • \[…\] : o texto em anexo não conta para fins de cálculo de largura

(Se você está olhando para o código-fonte, isso acontece em parse_and_put_prompt in libbb/lineedit.c .)

    
por 25.01.2013 / 00:54