ファイルデータを再度実行せずに、Bashで常に使用できるようにします(再起動時にも同様)。

ファイルデータを再度実行せずに、Bashで常に使用できるようにします(再起動時にも同様)。

~/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}"

私はオペレーティングシステムをインストールした瞬間からこれらの作業を定期的に使用してきました。

したがって、この文書は非常に重要です。常にエクスポートreboot、そのデータは、Bashセッションの開始後(そしてそれ以降)、すべてのBashセッションで常に使用できます。

これを達成するために、私は次のような恐ろしいスクリプトを思いついた。

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

上記の状態を達成するための良い方法は何ですか?

修正する

このファイルをソーシングしてからbash.bashrcに追加しない理由source ~/myScripts/assignments.shは、一部の開発者が通常このファイルをソーシングするのを嫌うからですbash.bashrc。ただし、ファイルがカスタマイズされていない場合、または小さな変更のみがある場合、通常は問題になりません。

ベストアンサー1

「すべての」bashセッションに割り当てが必要な場合は、ファイルを同じ場所に配置して/etc/assignmentsグローバルからインポートします/etc/bash.bashrc

次に追加します/etc/bash.bashrc

source /etc/assignments

これにより、すべてのbashセッションで各ユーザーがすべての定義を使用でき、情報を別々のファイルに保持できます。

おすすめ記事