web-dev-qa-db-ja.com

ログイン時に実行されるシェルスクリプトを作成する方法

Ubuntu 11.10 Linuxディストリビューションでbashシェルスクリプトを記述しようとしています。システムにログインすると自動的に実行されます。しかし、ログイン時に自動的に実行されるスクリプトで何を書くべきか理解できません。

16
dubex

グローバルにする場合は、変更します

 /etc/profile 

またはスクリプトを追加

 /etc/profile.d

ユーザー固有にする場合は、変更します

 /home/$USER/.profile
18
wei2912

スタートアップアプリケーションにbashスクリプトを追加するだけです。

コマンドフィールドに、

bash /full/path/to/bash/script.sh/
3
jokerdino

/etc/profileまたは$HOME/.profileまたは$HOME/.bash_profile

出力が生成される場合は、/etc/profile.d/yourscript.shを使用しないことを強くお勧めします。非インタラクティブセッションを使用すると、$TERM is not setメッセージが表示されます。これは、scpなどのsshプロトコルを使用する場合に顕著です。通常は大したことではありませんが、Veeamはそれを気に入らず、警告をスローします。 Veeamがここでのトピックではないことは知っていますが、すべてのアプリケーションが$TERM is not set警告を優雅に無視するわけではないことは言及する価値があります。

つまり、スクリプトが出力を生成する場合は、最初の行で指定された場所に配置します。ただし、環境を変更していてスクリプトが出力を生成しない場合は、後者を使用します。

0
Hickory420

さらにbash固有になりたい場合は、〜/ .bash_profileまたは〜/ .bash_loginにコードを記述することもできます。

そして、あなたはその中の任意のスクリプトを調達することができます例えば:

if [ -f ~/.bashrc ]; then
   source ~/.bashrc
fi
0
Dieter.Wilhelm