Mac OS Xで$ PATH変数をリセットするにはどうすればよいですか?


17

私はパス変数を台無しにしましたが、今実行しているいくつかのアプリは、datesleepなどのコマンドに対してCommand Not Found(エラー127)と言うエラーを発生さます。これらのコマンドは、シェルで直接実行すると正常に機能します。

これは、不正な$ PATH変数と関係があるため、リセットする方法を知っている必要があると思います。〜/ .bashrc〜/ .bash_profile/ etc / bash.bashrc、および〜/ .bashrcおよび〜/ .profileファイルを削除しました。

$ PATHを保持できる他のファイルは何ですか?パスを保持できる無数のファイルを掘り下げるよりも、パスをリセットする簡単な方法はありますか?

このパスの問題は私のユーザーのみに注意してください。システムにテストユーザーを作成しましたが、パスは正常で、正常に戻りました。

更新:ありがとう。削除したファイルのどれがそれをやったのかわからないが、物事は再び機能している。あなたたちは「専門家」にはできなかったことをやった。はい、クリス、あなたは正しかった。私が行ったPATHカスタマイズはbash_loginにありました。しかし、どういうわけか、それらのカスタマイズを削除しなくても機能しました。「RCEnvironment」と呼ばれるこのprefpaneを使用していたので、引用符と:PATHを含むパスを入力していたので、それがあったのではないかと思います。引用符を使用するかどうかはわかりませんが、:$ PATHに置き換わるものではないので、おそらくエラーの原因です。私もそのprefpaneを忘れていた!


1
/ etc / profileは、PATHの初期値を設定するための最も可能性の高い場所ですが、そこにあるものはすべてのユーザーに影響を与えます。〜/ .bash_loginもありますが、これはリストしませんでした(既に削除している場合もあります)。
クリスジョンセン

回答:


19

〜/ .MacOSX / environment.plistファイルがある場合は、デフォルトのPATH値を提供するかどうかを確認してください。

XML形式の場合(リストはさまざまな形式にできます)、任意のテキストエディターで編集できます。plutil -lint ~/.MacOSX/environment.plist手動で編集する場合は、確認してください。

または、defaultsPlistBuddyなどのコマンドを使用して、XMLまたはバイナリ形式のplistファイルに制御された変更を加えることができます。


シェルの初期化ファイルのいずれかで、独自のPATHをいつでも設定できます。

シェルのスタートアップファイル(.bashrc、または.bash_profile/ .bash_login/ .profile)に次のようなものを入れます。

PATH=/usr/bin:/bin:/usr/sbin:/sbin
export PATH

# add custom, local installations to PATH
PATH=/usr/local/bin:/usr/local/sbin:"$PATH"

# add MacPorts to PATH
PATH=/opt/local/bin:/opt/local/sbin:"$PATH"

これは、シェルの起動時に設定されたデフォルトのPATHを上書きします(最初のPATHはをPATH=使用しないため$PATH、指定したもののみで常に開始されます)。

「ログイン」ファイルの一つは、これまで(存在するとの読みである最初のものに使用されるだけ~/.bash_profile~/.bash_loginと、~/.profile使用されます)。.profile他のシェルとの後方互換性のためです。使用する場合は、bashに固有の構文がないようにしてください。あなたが行く場合.bash_login.bash_profile(彼らは名前を除いて機能的に同等である)、その後、次のような行を使用し[[ -e ~/.bashrc -a -r ~/.bashrc ]] && source ~/.bashrc ]]ているログインシェルはまた、カスタマイズは、あなたの中に作られてしまいますので、トップに近いです.bashrc

bashのすべてのインスタンスに同じPATHを持たせたい場合は、を使用します.bashrc。コマンドラインから単一のシェルのPATHをインタラクティブに変更することがよくあり、その変更されたPATHをサブシェルで使用したい場合(おそらくあまり一般的ではないケース)、代わりに「ログイン」ファイルの1つにステートメントを配置する必要があります。ログインファイルの1つだけを選択して使用します。


8

1.端末を開く

2.まず、現在のを確認するだけで$PATH、タイプ

echo $ PATH

ターミナルへ

3. $PATHその端末が返したパスが目的のパスである場合は、問題ありません。そうでない場合は、タイプ

export PATH = / usr / bin:/ bin:/ usr / sbin:/ sbin

、次に入力

〜/ .bash_profileをタッチします

、そしてタイプ

〜/ .bash_profileを開きます

、EditTextが開いているのがわかります。そのEditTextに必要なパスを入力してください。たとえば、次のように入力します

PATH = / usr / bin:/ bin:/ usr / sbin:/ sbin

(これ$PATHをリセットする$PATHことを検討しているので、おそらくこれを入力する必要があるため、mac のデフォルトです)、保存してからEditTextを閉じてから、Terminalを閉じます。

4.これで、すでに$PATHMacのデフォルトに変更またはリセットされています$PATH


2
上記の多くは効果がないと感じています。なぜ必要だと思いますtouchか?ターミナルとにかくを閉じているとしても、なぜ実行exportに追加するだけにしてではなく、コマンドライン上で~/.bash_profile(必要がexportあまりにも)と、それを使って行うこと?(または、source ~/.bash_profile現在のウィンドウに変更を適用するために実行します。)
Arjan

確かに、その一部は冗長です。PATH値を.bash_profileに保存してください。
-ThinkCode

1

表示されているChris Johnsonのrc/profile編集もで正常に機能し/etc/profileます。

私はちょうど追加しました:

export PATH="/usr/local/mariadb/bin:$PATH"

/etc/profileMac OS X 10.9 Mavericksの私のファイルにMariaDBのインストールを完了します(これはMySQLの優れたドロップイン置換として機能します)。


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