Làm thế nào để đối phó với một không gian khi thiết lập $ PATH


16

Tôi muốn thêm lib tuyệt vời vào đường dẫn của mình nhưng nó có một khoảng trống trong đó.

Tôi đã thử điều hiển nhiên như bạn sẽ điều hướng trong thiết bị đầu cuối (ví dụ /Applications/Sublime\ Text\ 2.app/Contents)

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

Nhưng tôi vẫn nhận được lỗi

/Applications/Sublime: No such file or directory

Tôi có thể đổi tên nó nhưng tôi tò mò làm thế nào để giải quyết nó. Tôi đang sử dụng bash.


thử export PATH='/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl:$PATHchưa Ngoài ra, đó có phải là dòng mới dự định?
demure

Không có dòng nào mới xuất hiện theo cách đó khi tôi dán nó. Đề nghị của bạn không giúp được gì và nó đã giết chết con đường của tôi nên không thể sử dụng vi, phải chuyển sang một vỏ khác để thay đổi.
Shawn Vader

1
đề nghị của demure nên làm điều đó, nhưng sử dụng dấu ngoặc kép: export PATH="/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl:$PATH"nếu không, $ PATH sẽ không được mở rộng.
jaume

Tôi đã có nó như là trích dẫn kép ban đầu nhưng trong .bashrc nó vẫn không thích nó.
Shawn Vader

Bạn có thể chính xác hơn? Bạn có ý gì bởi "nó không thích nó"? Bạn có nhận được một lỗi (cái nào)? Hay đơn giản là nó không hoạt động?
jaume

Câu trả lời:


15

Sử dụng dấu gạch chéo ngược hoặc dấu ngoặc kép, không phải cả hai. Bạn đặt dấu gạch chéo ngược trong không gian trong PATHgiá trị.

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

hoặc là

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

Hãy chắc chắn không bọc dòng: nó phải là khoảng trắng, không phải dòng mới.

Lưu ý rằng nếu bạn thấy một lỗi như /Applications/Sublime: No such file or directorytừ export PATH=…dòng, thì bạn có lỗi cú pháp trong dòng đó, chẳng hạn như khoảng trắng sau dấu bằng: bài tập không cố gắng tra cứu thư mục. Nếu sau đó xảy ra lỗi, thì đó không phải là do giá trị PATH hoặc nếu chỉ rất gián tiếp: hoàn toàn ổn cho các mục $PATHkhông tồn tại và một thư mục không tồn tại sẽ không dẫn đến thông báo lỗi .


4

Nếu đường dẫn được đặt chính xác tại .bash_profile, cho dù có dấu ngoặc kép hoặc dấu gạch chéo ngược và có khoảng trắng trong đó, bạn cần gọi các biến có dấu ngoặc kép .

Ví dụ: nếu .bash_profileđược đặt như dưới đây:

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

Bạn không thể làm gì cd $SUBLIMEPATHđể thay đổi thư mục hiện tại, bạn sẽ gặp No such file or directorylỗi. Nhưng với dấu ngoặc kép như cd "$SUBLIMEPATH"bạn có thể.

Hy vọng điều này sẽ giúp cho một cái gì đó.


3

Để giải quyết nó tôi đã tạo một simlink trong

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

Sau đó tôi đã thêm nó vào đường dẫn của mình bằng cách sử dụng vi trên ~. / Bashrc

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

Hãy nhớ lấy nguồn .bashrc để nhận các thay đổi của bạn

source ~/.bashrc

1

Điều này không trả lời câu hỏi. Tuy nhiên, nó đề cập đến nhận xét được đưa ra trong một trong những câu trả lời và thảo luận về một quy trình tương tự.

Cũng có thể tạo bí danh cho Sublime Text bằng cách chỉnh sửa .bash_profilehoặc .bashrc(bất kỳ tệp cấu hình BASH nào trong thư mục chính của bạn).

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

Để làm như vậy, cần phải sử dụng BÓNG thoát dấu gạch chéo và dấu ngoặc kép . Đặc biệt lưu ý rằng đây là một tình huống rất khác so với việc xuất PATH như đã đề cập ở trên, bởi vì nó chỉ có ý nghĩa để làm cái này hay cái kia, nhưng không phải cả hai.

Cũng lưu ý rằng trước tiên không cần tạo liên kết tượng trưng, ​​vì tài liệu chính thức của Sublime và nhiều nguồn khác yêu cầu. Câu trả lời này trên StackOverflow đã đúng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.