O comando at pode ser usado para agendar trabalhos para execução futura.
Isso configura o ambiente antes de executar o comando, para corresponder ao ambiente no momento da criação do trabalho 'at'.
No entanto, isso não parece incluir funções bash definidas no ambiente. Tentei exportar uma função usando "export -f", mas isso não aparece no ambiente criado para o trabalho at.
Alguém sabe como eu poderia fazer uma função rodar no contexto de um job 'at'? Eu sei que eu poderia converter para um comando adequado definido em um arquivo, mas estou curioso sobre o que exatamente está impedindo a função de ser pega no ambiente.
Notavelmente, se alguém fizer "export -f myfun" no ambiente e depois "export -p", a função não aparece no ambiente. Isso é um problema do bash mais do que qualquer outra coisa?
Versão Bash: GNU bash, versão 5.2.21(1)-release (x86_64-pc-linux-gnu)
O script (digamos
script.sh
) que você executarat
será executado peloatd
daemon e não estará mais relacionado à sua sessão de shell atual.Uma solução alternativa: