$ PATHを設定するときにスペースにどう対処するか


16

崇高なlibをパスに追加したいのですが、スペースがあります。

私はあなたがターミナルでナビゲートするような明白なことを試みました(例/Applications/Sublime\ Text\ 2.app/Contents

export PATH="/Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl:$PATH"

しかし、まだエラーが発生します

/Applications/Sublime: No such file or directory

名前を変更することもできますが、解決方法が知りたいです。私はbashを使用しています。


試しexport PATH='/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl:$PATHますか?また、その改行は意図されていますか?
おとなしそうな

あなたの提案は役に立たず、私のパスを殺したので、viを使用できなかったので、変更するには別のシェルに切り替える必要がありました。
ショーンベイダー

1
demureの提案はそれを行うべきですが、二重引用符を使用してください:export PATH="/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl:$PATH"、そうでない場合は$ PATHは展開されません。
ジャウメ

元々は二重引用符として使用していましたが、.bashrcではまだ気に入らなかった。
ショーンベイダー

もっと正確にできますか?「好きじゃなかった」とはどういう意味ですか?エラーが発生しますか(どちらか)?または、単に機能しませんでしたか?
ジャウメ

回答:


15

両方ではなく、バックスラッシュまたは引用符を使用してください。シーケンスのバックスラッシュスペースをPATH値に入れます。

export PATH="/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl:$PATH"

または

export PATH=/Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl:$PATH

行を折り返さないようにしてください。改行ではなくスペースである必要があります。

あなたのようなエラーが表示された場合は注意という/Applications/Sublime: No such file or directoryexport PATH=…行を、あなたは、このような等号の後のスペースとして、その行に構文エラーがあります:割り当ては、ディレクトリを検索しようとしません。エラーが後で発生する場合は、PATH値が原因ではないか、または非常に間接的な場合のみです。エントリが$PATH存在しなくても問題はなく、存在しないディレクトリがエラーメッセージにつながることはありません。 。


4

パスがで適切に設定されている場合、.bash_profile二重引用符またはバックスラッシュでエスケープされ、スペースが含まれている場合は、変数を二重引用符で呼び出す必要があります

たとえば、.bash_profile以下のように設定されている場合:

export SUBLIMEPATH="/Applications/Sublime Text 2.app/Contents"
export PATH=$PATH:$SUBLIMEPATH/SharedSupport/bin/subl

現在のディレクトリを変更することはできません。エラーcd $SUBLIMEPATHNo such file or directory発生します。ただし、cd "$SUBLIMEPATH"可能な限り二重引用符を使用します。

この助けが何かに役立つことを願っています。


3

それを解決するために、私はsimlinkを作成しました

ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" /usr/local/sublime/bin/subl

次に、〜。/ bashrcでviを使用して、パスに追加しました

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

.bashrcをソースとして変更を取得することを忘れないでください

source ~/.bashrc

1

これは質問に答えません。ただし、回答の1つで行われた発言として対処し、同様の手順について説明します。

.bash_profileまたは.bashrc(ホームディレクトリにあるBASH構成ファイルのいずれか)を編集して、Sublime Textのエイリアスを作成することもできます。

alias sublime="/Applications/Sublime\ Text.app/Contents/MacOS/Sublime\ Text"

そのためには、両方のエスケープバックスラッシュと引用符を使用する必要があります。特に、これは上記のようにPATHをエクスポートする場合とは非常に異なる状況であることに注意してください。なぜなら、両方ではなく、どちらか一方のみを行うことが理にかなっているからです。

Sublimeの公式ドキュメントや他の多くのソースが主張しているように、最初にシンボリックリンクを作成する必要がないことにも注意してください。StackOverflowのこの答えは、それを正しく理解します。

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