Bash

保持文件數據對 Bash 始終可用,無需重複執行(也在重新啟動後)

  • February 9, 2018

我有一個名為的文件~/myScripts/assignments.sh,其中包含各種分配,例如變數和別名。這是該文件的味道:

drt="/var/www/html"
rss="/etc/init.d/php*-fpm restart && systemctl restart nginx.service"

alias drt="cd ${drt}"
alias rss="${rss}"

從我完成作業系統安裝的那一刻起,我就經常使用這些任務,尤其是為我的網路伺服器和相鄰軟體的安裝、配置和維護編寫更簡潔的腳本。

因此,在任何 Bash 會話開始後(也在 a 之後),始終導出此文件至關重要,其數據將始終在所有 Bash 會話中可用reboot

為此,我想到了以下糟糕的腳本:

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

什麼是實現上述狀態的好方法?

更新

我想避免採購文件,然後source ~/myScripts/assignments.sh在 bash.bashrc 中添加的原因是我看到一些開發人員通常不願意採購bash.bashrc。雖然,當文件不是自定義的,或者只有這麼小的變化時,它通常不是問題。

如果“所有” bash 會話都需要分配,只需將文件放在類似的地方/etc/assignments並從/etc/bash.bashrc.

將此附加到/etc/bash.bashrc

source /etc/assignments

這樣,您就可以在所有 bash 會話中為每個使用者使用所有定義,並且可以將資訊保存在單獨的文件中。

引用自:https://unix.stackexchange.com/questions/422745