É possível saber quando você está no primeiro prompt bash de um terminal?

1

Esta é uma espécie de contiunação da minha última pergunta: print saving o último comando de entrada do bash

Agora, quero saber se é possível saber quando você está no primeiro prompt bash de um terminal. Então, estou exibindo o último comando executado acima do prompt atual. E eu estou pensando que seria legal se você estivesse em um terminal novo, para exibir os últimos N comandos.

Eu acho que poderia apenas ecoar os últimos comandos dentro do meu .bashrc , mas isso não parece uma boa idéia. E também seria legal obter os últimos N comandos mostrados quando a rolagem estiver desmarcada (via clear ).

Algum disso (razoavelmente) é possível?

    
por Falmarri 16.10.2010 / 21:44

3 respostas

1

I guess I could just echo the last commands inside my .bashrc, but that doesn't seem like a good idea. And also it'd be cool to get the last N commands shown when the scrollback is cleared (via clear).

Eu não tenho certeza se há outra maneira de fazer isso sem modificar a fonte do bash ... O que parece ruim em colocá-lo no .bashrc embora? Você deve adicionar um teste de interatividade para não imprimi-lo em qualquer script:

if [ ! -z "$PS1" ]; then
    echo "Hello, the last 5 commands you typed were :"
    tail -n5 ~/.bash_history
fi

Você também pode criar um alias para clear, que basicamente faz o mesmo.

    
por 19.10.2010 / 14:10
0

link

Desloque-se até o final da página. Ele fala sobre um código \# que exibe o "número do comando". Começa em 1 e incrementa para cada comando que você digita até sair do terminal. Eu achei útil.

    
por 14.08.2012 / 13:05
0

Faça:

echo $LINENO

Ou coloque-o no seu prompt.

    
por 16.07.2014 / 06:46

Tags