.bash_profileとターミナルコマンドに関する問題

.bash_profileとターミナルコマンドに関する問題

.bash_profileRubyバージョン19と正しいgemの両方を実行しているエイリアスにいくつかのデータを追加しました。データを追加すると、次のコマンドを実行できなくなります。Macポート実行するコマンドポートまたはコマンドパートナーテキストコンパニオン。無効にした後、.bash_profileすべて.bash_login.bash_history正常に戻りました。.bash_history再作成され、すぐに.bash_profile必要なエイリアスが再取得されましたが、そのコマンドを再実行するオプションが失われました。以下は、これらすべてのファイルのいくつかの出力です。

jaspersmbp:~ jasper$ cat .bash_profile
    alias ruby='/opt/local/bin/ruby1.9'
    alias gem='/opt/local/bin/gem'
jaspersmbp:~ jasper$ cat .bash_login
jaspersmbp:~ jasper$ cat .bashrc
    HISTFILESIZE=1000000000
    HISTSIZE=1000000
jaspersmbp:~ jasper$ cat .profile
    #Django path
    export PATH=/opt/local/bin:opt/local/sbin:/opt/local/lib/python2.4/site-packages/django/bin:$PATH
    # Apache alias
    alias apacherestart='sudo /opt/local/apache2/bin/apachectl -k restart'
    #Subversion OSX for Eclips Joomla Development
    export PATH=/opt/subversion/bin:$PATH
    #Test
    #echo $PATH
    ##
    # Your previous /Users/jasper/.profile file was backed up as /Users/jasper/.profile.macports-saved_2012-05-18_at_09:47:58
    ##
    # MacPorts Installer addition on 2012-05-18_at_09:47:58: adding an appropriate PATH variable for use with MacPorts.
    export PATH=/opt/local/bin:/opt/local/sbin:$PATH
    # Finished adapting your PATH environment variable for use with MacPorts.

.bash_profile有効にすると、mateやportなどのコマンドが使用される理由を知っている人はいますか?.bash_profileエイリアスを使用するには、作業を行う必要があり、さまざまなソフトウェアで動作するMacPortsポートコマンドが必要です。

ベストアンサー1

Bashは~/.bash_profile存在を読みます~/.profile。したがって、~/.bash_profileを作成すると、~/.profile使用されなくなります。他のシェルとは異なり、エイリアスは bash に限定されないので~/.profile

また、対話型ログインでbashを起動すると、bashは~/.bash_profile(bash関連のセッション起動スクリプト、または存在しない場合は通常のシェルセッション起動スクリプト)を読み込みますが(対話型bash起動スクリプト)は~/.profile読みません。~/.bashrcしたがって、次の2行をファイルに入れてすべてを~/.bash_profileロードする必要があります。

. ~/.profile
case $- in *i*) . ~/.bashrc;; esac

おすすめ記事