bashプロファイルのスタートアップファイルはどこにありますか?


8

ホームフォルダに.profileまたは.bashrcファイルを入れてMac OS X 10.6.4ターミナルbashスタートアップをカスタマイズできることを知っています。

ターミナルを起動するたびに、「You've got mail」というメッセージが表示されます。この行が私のスタートアップファイルで記述されている場所を見つけようとしていますが、.bashもホームフォルダー.profileも見つかりません.bashrc

私はまた、グローバル設定ファイルが入っていることを読ん/etc/profileそして/etc/bashrc、彼らは私に何かを教えていないようです。

/ etc / profile

# System-wide .profile for sh(1)

if [ -x /usr/libexec/path_helper ]; then
        eval `/usr/libexec/path_helper -s`
fi

if [ "${BASH-no}" != "no" ]; then
        [ -r /etc/bashrc ] && . /etc/bashrc
fi

/ etc / bashrc

# System-wide .bashrc file for interactive bash(1) shells.
if [ -z "$PS1" ]; then
   return
fi

PS1='\h:\W \u\$ '
# Make bash check its window size after a process completes
shopt -s checkwinsize

ところで、ありません /etc/bash

何か案は?ありがとう!

回答:


11

これはおそらくメールの質問には答えませんが、起動ファイルに関するいくつかの情報があります。

Finderでファイルを検索していますか?端末から検索して、ls -A隠しファイル( ' .'で始まるファイル)が表示されるように使用していることを確認してください。

以下は、Bashリファレンスガイドからの抜粋です。OS X(インタラクティブなログインシェル)で新しいターミナルウィンドウを起動したときに実行されるスタートアップファイルについて説明します。

6.2 Bashスタートアップファイル

このセクションでは、Bashがスタートアップファイルを実行する方法について説明します。いずれかのファイルが存在しても読み取ることができない場合、Bashはエラーを報告します。チルダは、上記のチルダ拡張(19ページのセクション3.5.2 [チルダ拡張]を参照)で説明したように、ファイル名で拡張されます。

インタラクティブシェルについては、76ページのセクション6.3 [インタラクティブシェル]で説明しています。

対話型ログインシェルとして、または '--login'を使用して呼び出されます

Bashが対話型ログインシェルとして、または--loginオプション付きの非対話型シェルとして呼び出されると、/etc/profileファイルが存在する場合は、最初にファイルからコマンドを読み取って実行します。そのファイルを読んだ後、それは探し~/.bash_profile~/.bash_login、および~/.profile、そのためには、および読み込み、存在し、読み取り可能である最初のものから実行するコマンドを。この--noprofileオプションは、シェルの起動時にこの動作を禁止するために使用できます。

ログインシェルが終了すると、Bashはファイル '〜/ .bash_logout'が存在する場合、それからコマンドを読み取って実行します。


4

この特定の行(You have mail)は実際にはbashの起動の一部ではありませんが、コンピューターのローカルアカウントが何らかの理由でメールを受信したというアラートです。

を使用mailして、メッセージを読んで削除するか、メッセージを削除することができます(ほとんどの場合、バウンスバックまたは開発中の何か)。/var/mail/username


4

この通知は、環境変数によって構成されますMAILCHECK。を参照man bashして検索しますMAILCHECK(manページで検索するには、押し/て入力MAILCHECKします)。

関連する抜粋は次のとおりです。

 メールチェック
              bashがメールをチェックする頻度(秒単位)を指定します。の
              デフォルトは60秒です。メールをチェックする時間になると、
              シェルは、プライマリプロンプトを表示する前にこれを行います。これなら
              変数が設定されていないか、数値ではない値に設定されています
              ゼロ以上の場合、シェルはメールチェックを無効にします。

この変数が実際に設定されていることを確認するには、次を実行します。 echo $MAILCHECK

この通知を無効にするには、次の行を ~/.bashrc

MAILCHECKの設定を解除します
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.