- ~/.bash_profile
- ~/.bash_login
- ~/.profile
- /etc/profile.d
Запустить bash скрипт один раз при входе пользователя в систему можно используя несколько функциональных возможностей Linux:
Скрипт можно разместить в каталоге /etc/profile.d
в данном случае он исполнится для всех пользователей, для конкретного же пользователя, путь к скрипту можно указать в любом из файлов, в данном случае это будет ~/.profile
.
Можно описать логику, которая по факту выполнения будет создавать файл, назовем его .once_done
, скрипт при запуске будет проверять его наличие, если файла нет, будет выполнено действие.
#!/bin/bash
if [ -e $HOME/.once_done \]
then
echo "No action for provisioning."
else
echo "Run once is Done!" >> $HOME/run-once.txt
touch $HOME/.once_done
fi
Код сохраним в файле provision.sh
в каталоге пользователя, далее делаем скрипт исполняемым:
chmod +x provision.sh
Собственно это одна строчка, которую можно добавить в конец файла:
. ${HOME}/provision.sh
Можно совершить выход из системы используя команду exit
, после входа проверить наличие файла
run-once.txt
в каталоге пользователя, с содержимым "Run once is Done!":