回答:
グローバルにする場合は、変更します
/etc/profile
またはスクリプトを追加
/etc/profile.d
ユーザー固有にする場合は、変更します
/home/$USER/.profile
/usr/local/bin/pihole -c
特定のユーザーの自動ログインでコマンドを実行しようとしています。この行を追加しました/home/$USER/.profile
-何も起こりません。スクリプトを追加すると機能しますが/etc/profile.d
、グローバルであり、sshセッションを開いたときにも実行されます(これは私が望んでいることではありません)。への追加も.bashrc
機能しますが、新しいシェルを開くたびに実行されます(これは私が望むものではありません)。質問:への追加/home/$USER/.profile
が機能しないのはなぜですか?
スタートアップアプリケーションにbashスクリプトを追加するだけです。
コマンドフィールドに、
bash /full/path/to/bash/script.sh/
さらにbash固有になりたい場合は、〜/ .bash_profileまたは〜/ .bash_loginにコードを記述することもできます。
そして、あなたはそこに任意のスクリプトを調達することができます例えば:
if [ -f ~/.bashrc ]; then
source ~/.bashrc
fi
/etc/profile
または$HOME/.profile
または$HOME/.bash_profile
/etc/profile.d/yourscript.sh
出力を生成する場合は使用しないことを強くお勧めします。非インタラクティブセッションを使用すると、$TERM is not set
メッセージが表示されます。これは、scpなどのsshプロトコルを使用する場合に顕著です。通常は大したことではありませんが、Veeamはそれを気に入らず、警告をスローします。Veeamはここでのトピックではありませんが、すべてのアプリケーションが$TERM is not set
警告を優雅に無視するわけではないことは言及する価値があります。
つまり、スクリプトが出力を生成する場合は、最初の行で指定された場所に配置します。ただし、環境を変更していてスクリプトが出力を生成しない場合は、後者を使用します。
.sh
スクリプトを内に配置する場合、拡張機能が必要であることを忘れないでください/etc/profile.d/
。chmode +x /etc/profile.d/myscript.sh
もちろんです。