ターミナルの永続的なエイリアスを作成しようとしています。以前は空だった〜/ .profile、〜/ .bashrc、および〜/ .bash_profileファイルにエイリアスを配置しました。新しいターミナルを起動すると、bashはエイリアスを認識しませんが、それらのいずれかを調達すると、認識します。ターミナルを開いたときにこれらが実行されないのはなぜですか?私はOSXを使用しています。
ドットファイルの読み込みを機能させるためにiTerm
を使用する場合、ここで2つのことが発生する必要があります。
まず、.bash_profile
に以下を追加する必要があります
[[ -s ~/.bashrc ]] && source ~/.bashrc
次に、iTerm
設定で、端末がログインシェルを起動するように設定されていることを確認する必要があります。
お役に立てれば!
デフォルトのMacターミナルを使用して、私のために働いたのは、起動時に実行するコマンドを追加して、.bash_profileをソースすることでした。
環境設定>プロファイル>スタートアップ>コマンドの追加 'source〜/.bash_profile'
少しハッキーだと思われるかもしれませんが、それでうまくいきます。
source ~/.profile
を.bash_profile
に追加するとうまくいきました。
High Sierraの時点では、TerminalとiTermの両方が最初に〜/ .profileをロードする必要があります。したがって、Macを他のUnixと同じように機能させるには、.profileに1行を入力することをお勧めします。
ソース〜/ .bash_profile
この1つのファイルを編集することで、複数のアプリのメニューを検索して、それぞれのAppleの奇妙な動作を無効にする必要がなくなります。
シェルの初期化ファイルがロードされないのはなぜですか?
ほとんどのものと同様に、それは依存します™
私は最近同じ現象を経験し、それを解決するために次の演習を行いました。
私はiTermを使用しています。 iTermはデフォルトでログインシェルを実行します。 iTerm設定>一般>コマンド>(*)ログインシェルで確認します。したがって、〜/ .bash_profileが常に呼び出されることがわかります。
それを知って、私は〜/ .bash_profileファイルに以下を入れました:
for file in ~/.{bashrc,bash_exports,bash_aliases,bash_functions}; do
[ -r "$file" ] && source "$file"
done
unset file
.bashrc、.bash_exportsなどに別々のファイルを使用していることに注意してください。これにより、物事が別々でシンプルに保たれます。
/ etc/profileが最初にロードされることにも注意してください。ただし、そのシステム全体のinitファイルを使用したことがないため、それが私の問題ではないことがわかりました。詳細については、$ man bash
をご覧ください。
そこで、〜/ .bash_profileファイルから始めました。
インストールすると、 Canopy Express インストーラーが、〜/ .bash_profileファイルの内容を次の内容に置き換えていることがわかりました。
# Added by Canopy installer on 2017-04-19
# VIRTUAL_ENV_DISABLE_Prompt can be set to '' to make the bash Prompt show that Canopy is active, otherwise 1
alias activate_canopy="source '/Users/Lex/dev/python/User/bin/activate'"
# VIRTUAL_ENV_DISABLE_Prompt=1 source '/Users/Lex/dev/python/User/bin/activate'
p.s.キャノピーは優れた無料のpython IDEであり、私が強くお勧めします。
幸い、私は〜/ .bash *ファイルをバックアップしているので、復元は簡単で、問題はすぐに修正されました。
私のアドバイスは、初期化ファイルへの呼び出しの順序を理解し、最初のファイルから始めて、問題が見つかるまでそれらを処理することです。
ああ、あなたはあなたが使用しているシェルを確認したいかもしれません(私はbashを使用しています):
~ $ echo $Shell
/usr/local/bin/bash
Bash、tcsh、sh、zshなどの別のシェルを使用できると思います。
プットsource .bash_profile
適切な 'bashrc'ファイルに入れると、自動読み込みが回復します。
tcshの場合は.login、bashの場合は.bash_profile、zshの場合は.zshrc
Catalinaの時点で、デフォルトのシェルはzshになりました。 chsh -s /bin/bash
を使用してbashに戻すことができます。これにより、.profile
または.bash_profile
が読み込まれます。