- ~/.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!":
