Inicie o XTerm com histórico bash personalizado

3

Posso iniciar xterm com um histórico bash personalizado, incluindo uma lista de comandos predefinidos? Para que eu possa executar vários xterm , onde cada instância tem sua própria história.

    
por Hölderlin 12.05.2017 / 05:35

1 resposta

3
  1. Crie um arquivo ~/myhistory com os comandos que você deseja no histórico, um por linha
  2. chmod a-w ~/myhistory , para que o Bash não tente alterá-lo . Se você quiser os comandos que o usuário digita para serem gravados de volta (para o mesmo arquivo), pule esta etapa.
  3. HISTFILE=~/myhistory xterm -e bash para fazer com que o Bash carregue os dados do histórico de ~/myhistory . Se o seu shell padrão for bash , você poderá perder o -e bash .

Dentro do shell, o histórico do comando será o que você escreveu no arquivo, acessível através da seta para cima, expansão do histórico, o comando fc ou qualquer outra maneira de acessar o histórico.

Se você não conseguir criar um arquivo real, essa solução bastante bem-trabalhada também funcionará:

HISTFILE=<(printf '%s\n' command1 "second 'command here'" 3rd) xterm -e bash

Isso usa substituição de processos para gerar uma entidade semelhante a arquivo para o shell para ler, com a saída do printf command como o conteúdo. Este printf imprimirá cada um dos argumentos, um por linha. Você terá que citar as coisas cuidadosamente para ter certeza de que os comandos como saída estão no formato que você precisa.

    
por 12.05.2017 / 06:48