Você pode executar como root
env - scriptname
Isso limpará seu ambiente antes de executar o script, mas também manterá seu shell
. Para limpar o ambiente e definir o shell como sh
, faça o seguinte:
env -i /bin/sh -c scriptname
Isso executará o script usando /bin/sh
. No entanto, isso não simulará completamente o ambiente de inicialização, pois isso não conta para os outros serviços que podem não estar em execução no momento.
Eu encontrei uma pergunta semelhante para simular o ambiente do crontab e há uma solução muito útil publicada por mmccoo .
Usando isso, você pode executar isso em um script e reinicializar o host, depois usar o arquivo de ambiente para carregar seu ambiente:
parte de um script de inicialização:
env > /var/tmp/bootenv
Em seguida, no tempo de execução normal para definir o mesmo ambiente de inicialização, faça o seguinte:
env - 'cat /var/tmp/bootenv' /bin/sh -c scriptname