Mac OSXのほとんどのコマンドでターミナルリターンが見つかりません


16

私は、Mac OSXおよびUNIXベースのシステムが初めてです。Mac MiniでいくつかのWindowsゲームを実行したかったので、WineとMacPortsのインストールを開始しました。

入力した後、入力するsudo port install wineと、ターミナルは見つかりませんエラーを返しました。sayand clearなどの他の基本的なコマンドを試してみましたが、それらはすべて見つかりませんエラーを返します。私はこれをグーグルで調べましたが、これまでに理解したことは、PATHが誤って設定されている可能性があることだけです。だから私はこのコマンドを実行しました:echo $PATHそしてこれはこれを返しました:

/ opt / local / bin:/ opt / local / sbin:/ opt / local / bin:/ opt / local / sbin:/ opt / local / bin

誰もこのパスを正しく設定する方法を教えてもらえますか?私は完全にMacの初心者で、.bash_profileやこれらのファイルがどこにあるかわかりません。うまくいけば、XcodeとXcode用のコマンドラインツールもインストールしました。Mountain Lionを実行しています。


3
残念ながら、Unixに関するチュートリアルが必要だと思います。質問に答えることはできますが、おそらくあなたがそれを理解するのに十分な背景を提供できないからです。ワイン用として-最も簡単には、端末を使用する必要はありませんクロスオーバー(コスト)またはWineskin(無料)をしてみてくださいです
user151019

回答:


12

$ PATHには次のフォルダーが含まれている必要があります/usr/bin:/usr/sbin:/bin:/sbin

編集試す~/.bash_profile~/.profileまたは~/.bash_login(例えばと共に/usr/bin/open ~/.bash_profile -a TextEdit)とパスを変更し、任意の行をコメントアウト。

その作品の場合は、のような行を追加することができますexport PATH=/opt/local/bin:/opt/local/sbin:$PATHします~/.bash_profile


PATH = / usr / bin:/ bin:/ usr / sbin:/ sbin:/ usr / local / binをエクスポートしようとしましたが機能しますが、いったん端末を閉じて再度開くと、同じエラーに戻ります。私は完全な初心者であり、〜/ .bash_profileまたはこれらのファイルがどこにあるかわかりません。それらが隠されていると思いますか?
ジャックコープランド

~/はホームフォルダー(/Users/username/)です。ピリオドで始まるファイルは非表示になりますが、たとえばで表示できますls -la
LRI

私の.bash_profileにはすでにこれらすべてが含まれていますが、ターミナルから発行するときにngやmssqlなどのコマンドで同じ問題がまだあります
-dbnex14

3

同様の問題が私に起こっていたので、私がやったことは:

1)PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"一時的に動作させるために、ターミナルにexportと入力します

2)入力してbash_profileを編集する /usr/bin/open ~/.bash_profile -a TextEdit

3)bash_profileファイルを開いたときに、最後の行のエクスポートが奇妙なシンボルで本当に乱雑に見えることに気づいたので、それを完全に変更しました export PATH=/opt/local/bin:/opt/local/sbin:$PATH

私はこれにはまったく初心者ですが、SEのさまざまな質問から解決策の一部を読むことでそれらの手順を取得することができました。


2

パスを追加するのではなく、パスを上書きしたようです。

PATHを設定するとき"${PATH}"に、既存のパスも含めるようにしてください。

デフォルトでは、いくつかのファイルに$ PATHが設定されています。技術的には、ホームディレクトリの.bash_profileファイルの$ PATHに追加する必要があります。

PATHに追加する前に特定のフォルダーが存在するかどうかを確認する場合の提案。

たとえば、私は持っています:

if [ -d /usr/local/bin ] ; then
    PATH=/usr/local/bin:"${PATH}"
fi

if [ -d /usr/local/mysql/bin ] ; then
    PATH=/usr/local/mysql/bin:"${PATH}"
fi

if [ -d /opt/local/bin ] ; then
    PATH=/opt/local/bin:"${PATH}"
fi

if [ -d /opt/local/sbin ] ; then
    PATH=/opt/local/sbin:"${PATH}"
fi

if [ -d ~/bin ] ; then
    PATH=~/bin:"${PATH}"
fi

-d directoryコマンドは、ディレクトリが存在するかどうかを確認します)


1

私の場合、私の~/.bash_profile。以下の両方の例。

export PATH=/some/new/path:PATH (incorrect, note missing $)

export PATH=/some/new/path:$PATH (correct)

0

それが答えを修正することに加えて、私はテストするために一つのことを呼び出したいです。

現在のウィンドウに間違ったPATH変数があり、システムがこれ以上壊れていない場合、パスを簡単に修正できます。

echo $PATH
/usr/libexec/path_helper

上記の2つのコマンドの出力を比較します。「安全な」パスに戻りたい場合は、path_helper提供する行をその端末にコピーして貼り付けてください。変更されていないMac 10.11システムでは、ヘルパーツールから次の出力が得られるはずです。

PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"; export PATH;

パスをカスタマイズする必要がある場合は、この質問に関する優れた回答を参照してください。


1
またはPATH=$(/usr/bin/getconf PATH)、現在のシェルで使用可能なPATHを取得するために発行できます。/usr/local変更されていないシステムには存在しません。
fd0

優れた@fdo-getconfを台無しにする可能性があることを認識していないので、ハードコーディングを行うのと同じくらい良いかもしれません。また、私の「ブルートフォース」修正よりも短いです。
bmike

path_helper現在のPATH、/etc/pathsファイル、および内のすべてのファイルからPATHを構築します/etc/paths.d。また、のPATH設定の影響も受けます/etc/launchd.confgetconfkernel-にハードコードされたシステムPATHを出力しますsysctl user.cs_path
fd0

0

端末の./bash_profileは上書きされている可能性があります。

export PATH=/usr/bin:/bin:/usr/sbin:/sbin/usr/local/bin端末で使用して、現在のPATH設定を一時的に書き換えます。これにより、にアクセスできるようにsudoなりnanoますnano .bash_profile。私にとっては、ファイル内のすべてを削除することができました。

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