A "história" é uma história de comandos "previamente digitados".
No manual do GNU:
"Quando a opção -o history para o conjunto interno está habilitado ... o shell fornece acesso ao histórico de comandos, a lista de comandos digitados anteriormente."
Portanto, não substitui as variáveis do shell nem salva iterações de loop.
Para isso, você pode usar o bash debugging chamando seu script para:
bash -x myscript > to-my-log-file
Em seguida, em caso de falha, você pode ver o que aconteceu no arquivo de registro (desde que o sistema tenha tido tempo de liberar o buffer de saída).