Leia este pergunta em stackoverflow.com e esta resposta pelo usuário grawity
em superuser.com
Você não deve usar $HOME
em init.d
, porque não está claro qual usuário usar em casa, até que este usuário faça o login.
Citação da especificação POSIX :
HOME
The system shall initialize this variable at the time of login to be a pathname
of the user's home directory. See <pwd.h>.
Você pode usar um pequeno hack, para obter a pasta home do usuário myuser
no seu script
su - myuser -c /usr/bin/env | grep HOME
É melhor usar o script abaixo, porque geralmente pode haver outras pastas HOME_*
. Como JAVA_HOME
etc.
su - myuser -c /usr/bin/env | grep "^HOME="