web-dev-qa-db-ja.com

ターミナルが開くたびにコマンドを実行する

私はUbuntu 13.04を使用していて、新しいタブ/ウィンドウが開くたびに次のコマンドを自動的にすぐに実行するようにターミナルを構成したいと思います。

 /bin/bash --login

どうすればこれを達成できますか? OSX iTerm 2では、起動時にコマンドを実行するオプションがあります。私はここで何らかのドットファイルを介してこれを達成する必要があると思います...

19

コマンドを~/.bashrcに追加します。技術的には、あなたはすべき~/.profileINVOCATIONのドキュメントからman bashにも追加できます:

shという名前でbashを呼び出すと、POSIX標準にも準拠しながら、shの過去のバージョンの起動時の動作をできるだけ模倣しようとします。対話型ログインシェル、または--loginオプションを使用した非対話型シェルとして呼び出されると、最初に/etc/profile~/.profileのコマンドをこの順序で読み取って実行しようとします。

また:

Bashは、リモートシェルデーモン(通常はrshd)またはセキュアシェルデーモンsshdによって実行されるときのように、標準入力がネットワーク接続に接続された状態で実行されているかどうかを判断しようとします。この方法で実行されているとbashが判断した場合、これらのファイルが存在し、読み取り可能であれば、~/.bashrcおよび~/.bashrcからコマンドを読み取って実行します。

つまり、これは、ローカルにログインしている場合は~/.profileを使用して問題ないことを意味します。ただし、システムにSSHで接続する場合は、~/.bashrcを使用する必要があります。 ~/.bashrcは、ローカルにログインした場合にも適用されます。そのため、それを使用することが慣例になりました。

21
user100059

試してください:

  • ターミナルで、編集>設定>タブのタイトルとコマンド>シェルのカスタムコマンドを実行します

enter image description here

または

  • gnome-terminal --tab -e "your command"新しいタブを開きます。

詳細情報: ManPage Gnome-terminal

3
stderr