Eu tenho um arquivo chamado ~/myScripts/assignments.sh
, que contém várias atribuições, como variáveis e aliases. Aqui está um gostinho desse arquivo:
drt="/var/www/html"
rss="/etc/init.d/php*-fpm restart && systemctl restart nginx.service"
alias drt="cd ${drt}"
alias rss="${rss}"
Eu uso essas atribuições com frequência desde o momento em que terminei de instalar o sistema operacional, especialmente para escrever scripts mais simples para instalação, configuração e manutenção do meu servidor da Web e software adjacente.
Assim, é vital que este arquivo seja sempre exportado , que seus dados estarão sempre disponíveis em todas as sessões de Bash, imediatamente após o início de qualquer sessão de Bash (também após reboot
).
Para conseguir isso, pensei no seguinte script:
source ~/myScripts/assignments.sh # Immediate availability;
printf "\n%s" "source ~/myScripts/assignments.sh" >> ~/.profile
cat > "cron_daily.sh" <<< "source ~/myScripts/assignments.sh"
crontab <<-"CRONTAB"
0 0 * * * ~/myScripts/cron_daily.sh # Permanent availability (after the one minute gap);
CRONTAB
Qual será uma boa abordagem para alcançar o estado que descrevi acima?
Atualizar
O motivo pelo qual eu pensava em evitar o sourcing do arquivo, em seguida, adicionar source ~/myScripts/assignments.sh
dentro do bash.bashrc é que eu vi alguns devops relutantes em obter bash.bashrc
em geral. Embora, quando o arquivo não é personalizado, ou tenha apenas uma pequena alteração, geralmente não é um problema.