Por que o comando history não faz nada em um arquivo de script?

4

Se eu criar um arquivo contendo

 #!/bin/bash 
 history

e executá-lo, não recebo saída. Executá-lo manualmente em um terminal ou source o arquivo de script faz produzir saída.

Por que o history não funciona em um arquivo?

    
por Sepahrad Salour 02.05.2014 / 14:42

1 resposta

12

O segundo comando "funciona", mas o histórico não está habilitado para shells não interativos e é por isso que ele não retorna nada em seu script.

$ cat nohistory.sh
#!/bin/bash
set -o | grep history
history

.

$ ./nohistory.sh
history         off

.

$ cat history.sh
#!/bin/bash
set -o history
set -o | grep history
history

.

$ ./history.sh
history         on
    1  set -o | grep history
    2  history
    
por 02.05.2014 / 15:01