.bash_profile
Rubyバージョン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
答え2
PATH
MacPortが設定ファイルを作成して背中を操作しているようです。この問題を解決する最も簡単な方法は、自分で行うことです。 MacPortの作成/作成、削除、パス、.bash_profile
およびエイリアスに関連するドットファイルファイルを無効にしたら、次のファイルをファイルに追加.profile
します。~/.bashrc
# define aliases
alias ruby='ruby1.9'
alias apacherestart='sudo apachectl -k restart'
# define hist properties
HISTFILESIZE=1000000000
HISTSIZE=1000000
# define path to programs
PATH=/opt/local/bin:opt/local/sbin:/opt/subversion/bin:/opt/local/apache2/bin/:/opt/local/lib/python2.4/site-packages/django/bin:$PATH
# define manpath
MANPATH=/opt/local/share/man:$MANPATH
# export env vars
export HISTFILESIZE HISTSIZE PATH MANPATH
新しい端末を起動して実行し、すべてがあることをecho $PATH
確認してからインストールをテストします/opt/local/bin
。上記のステートメントのすべてのディレクトリがPATH=
現在ディレクトリにあるので、PATH
バイナリへの絶対パスを持つエイリアスを使用する必要はありません。 、gem
単に実行できるので、もうエイリアスは必要ありませんgem
。
アップデート:ソースがない場合は、きれいなソースを~/.bashrc
入れてください。source ~/.bashrc
~/.bash_profile
答え3
$PATH
うーん、何か問題があるのではないか?戦後確認しましたか?