O número do comando no bash especifica o número de comandos digitados desde o login como aquele usuário em qualquer terminal que você tenha aberto. Pode ser visto em seu PS1 com \#
, como em
export PS1="\! \# \\$"
Eu gostaria de redefinir esse número às vezes. Posso redefinir o número do histórico no bash, history -c
entre outras coisas , mas não consigo descobrir como redefinir o número do comando.
Certa vez, vi alguém com um PS1 que redefinia um contador para 0 sempre que digitava um comando com um status de saída diferente de zero. Achei engraçado e estou tentando recriá-lo, pois não consigo encontrar online. Não gostaria de redefinir o número do histórico, pois isso também me impede de pesquisar comandos anteriores. editar : obtive essa funcionalidade sem redefinir o número do comando; Veja aqui
Existe uma maneira de exibir o número do comando no bash sem PS1 ou defini-lo de alguma forma?
Vou dizer "não" ou "não no bash 4.4" ou "não sem alterar o código e recompilar", pois esse valor está na variável chamada
current_command_number
, e é apenas referenciado e incrementado:shell.c
define-o como 1 duas vezes: durante a instanciação da variável e nashell_reinitialize
função . Essa função também redefine o prompt, reinicializa o histórico e exclui todas as variáveis e funções. Essa função é chamada apenas uma vez, demain()
.A única visibilidade externa para essa variável está na
decode_prompt_string
função, que é chamada quando o prompt deve ser exibido ou reexibido.