2012-05-26 49 views
63

我一直有麻煩修改我的路徑添加崇高文字2.我添加了一個~/bin目錄和run this command如何將〜/ bin添加到我的路徑中?

ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" ~/bin/subl 

的subl鏈接出現在~/bin。但我需要將~/bin目錄添加到我的路徑中。我對此很新,我不知道我的路在哪裏。我環顧四周,發現可能的文件是.profile,.bash_profile.bashrc

我沒有.bash_profile。爲了.profile.bashrc我加

PATH=$PATH:~/bin/subl 
export PATH 

那是正確的事情補充?如果是這樣,我應該在哪裏添加它?

當我echo $PATH,我得到:

/Users/<username>/.rvm/gems/[email protected]/bin:/Users/<username>/.rvm/gems/[email protected]/bin:/Users/<username>/.rvm/rubies/ruby-1.9.3-p194/bin:/Users/<username>/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin 

當我鍵入subl,我得到:

-bash: subl: command not found 

謝謝!

p.s.我之前安裝了Macports,它修改了我的.profile文件。不知道這是否與它有關 - 我現在不知道默認的.profile是什麼樣子。

+4

你的標題和第一段引用'/ bin',但你的問題的其餘部分引用'〜/ bin'。 –

+1

你說得對 - 我完全不知道我在做什麼目錄路徑。 我通過將subl文件移動到.rvm/bin中,在我的PATH中*是*,發現了一種變通辦法。 這就是我現在所需要做的,我會理解如何正確地做到這一點,直到我更好地學習UNIX爲止。 – Graeme

+0

不要將可執行文件「subl」放在文字路徑中。只要把它的位置,這是〜/ bin。另外,查看/ etc/profile以獲取啓動Terminal.app時獲取的〜/ .bashrc。 – bojolais

回答

11

您不需要做PATH=$PATH:~/bin/subl。相反,PATH=$PATH:~/bin就足夠了。這樣,你正在告訴shell來查看~/bin的二進制文件。用你的命令,你告訴shell查看「文件夾」~/bin/subl的二進制文件,這是行不通的。此外,您不需要在兩個文件中添加命令。在您的.bashrc中添加一次。我不是bash專家,但我可以推薦閱讀this blog post以獲得對不同啓動文件的進一步解釋。

+0

那篇博文很有用,謝謝。我仍然沒有正確地解決這個問題,但是我通過將subl文件插入到我的路徑中的目錄中找到了解決方法。 – Graeme

84

我和你一樣新,這意味着我甚至不知道如何讀取與修改PATH相關的一半內容。最終,儘管我找到了一種方法來實現這一點,它不需要將subl放入.rvm/bin(因爲這是其他的東西),而是放置在〜/ bin的相應目錄中。

轉到您的終端類型:

open -a Finder /usr/bin 

這將打開你的搜索到/ usr/bin目錄。一旦你在那裏打開一個新的Finder,去應用程序,右鍵單擊崇高文本圖標,然後轉到顯示包內容,然後到內容,SharedSupport,斌。複製subl文件並將其粘貼到其他Finder中,顯示/ usr/bin

就是這樣!你應該設置爲使用命令:

subl . (or subl file.name) 
+1

最簡單的方式來做到這一點,分享這個 – pbojinov

+13

複製'subl'的道具是非常不同於做一個符號鏈接它.. –

+2

要使用符號鏈接,請參閱下面的伊戈爾的答案。 – Obromios

34

zsh的更新 出於某種原因,當我最近從bash切換到zsh/prezto時,我的路徑中的「〜/ bin」不起作用。我將它更改爲「/ Users/myusername/bin」,並且它再次正常工作。當我找到它時,我會尋找原因並進行更新。請評論,如果你有更好的解決方案。

我知道這是一箇舊帖子,但是我認爲我會爲其他人嘗試遵循instructions given by sublimetext從OSX命令行逐句處理崇高事件的文檔提供解決方案。 更新崇高的文本3Sublime Text 3 Documentation

1)創建一個名爲 「BIN」 在你的home目錄目錄 「〜/」

mkdir ~/bin 

2)創建符號鏈接在你的崇高文字2應用程序新目錄剛創建

ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" ~/bin/subl 

更新崇高的文本3應用程序路徑略有不同:

ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" ~/bin/subl 

3)按照Ryan Hoffman關於如何輕鬆添加到OSX路徑的說明:add to the path on Mac OSX使用他的技術將新創建的「〜/ bin」添加到路徑中。你的/ etc /路徑文件看起來是這樣的,當你完成(注意〜/末斌):

/usr/bin 
/bin 
/usr/sbin 
/sbin 
/usr/local/bin 
~/bin 

4)打開一個新的終端窗口,開始使用subl命令行。

+3

這是正確的答案,它完美地爲我工作(Mac OSX 10.8.4) – AntonioOtero

+0

這個答案應該被OP接受。 – maahd

+0

我將它附加到我的.zshrc文件的這一部分,它工作。 「/ usr/local/bin/bin:/ usr/bin:/ bin:/ usr/sbin:/ sbin:/ usr/local/bin目錄下的用戶配置文件: bin:/ Users/username/bin「' –

0

以下與我合作。我有崇高的版本3和在這裏張貼如果有人尋求幫助:

sudo ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /bin/subl 
3

您需要首先創建一個符號鏈接/usr/bin。符號鏈接 - 或SymLink - 是目錄的別名或快捷方式。做如下:

  1. 首先,確保你在你的主目錄使用終端命令行

    cd ~

  2. 創建符號鏈接到你的usr/bin創建目錄。

    ln -s /usr/bin bin

    其中ln =創建一個鏈接,-s =象徵性的,其次是[target diectory][name of link]

  3. 測試新的鏈接

    cd bin

    這應該帶你到你~/bin - 與/usr/bin相同。 ~表示內部隱藏着一條長路徑。

  4. 現在,回到你的主文件夾安裝subl命令

    cd ~

  5. 安裝崇高文本2命令行工具。我將使用sudo來繞過任何權限塊。

    sudo ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" ~/bin/subl

    你應該是好去!通過簡單地輸入subl作爲命令行進行測試,它應該從終端啓動Sublime Text 2。

2

簡單做這種終端上:

sudo ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/bin/subl 

這是我崇高的存儲位置,試着鍵入路徑昇華,因爲您的版本可能會有所不同。

subl . 

應該工作正常。

1

最近我一直在努力解決這個問題。我意識到~未擴展到路徑中的主目錄。至少它不適合我。

這就是我所做的工作。

export PATH=$PATH:$HOME/bin 

subl從應用程序目錄被鏈接到我的~/bin每一些後續說明我發現釀造木桶。不幸的是,路徑從未更新過。

43

所有評論發表在這裏。您需要添加符號鏈接以崇高/usr/local/bin。它不需要root權限。並且不需要創建另一個bin目錄。

對於崇高文本2

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

對於卓異文本3

ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/ 
+1

+1這對我有效 - 關鍵是不要在Sublime Text的文檔中使用/Applications...../bin/subl周圍的語音標記(https://www.sublimetext.com/docs/2/ osx_command_line.html)。 – WorkingMatt

6

我想構成一個替代的解決這個問題。使用路徑中已有的目錄。就像這樣:

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

TL;博士

我在優勝美地跑進了同樣的問題(OS X 10.10),其中,在全新安裝的操作系統,在〜/ bin目錄中不存在,不在你的道路上。然而,在你的路徑中已經有很多有用的地方可以將符號鏈接放到Sublime上。

例如這裏的項目,目前我的路徑(使用$ echo $PATH獲取列表):

/Applications/Postgres.app/Contents/Versions/9.3/bin 
/usr/local/bin 
/usr/bin 
/bin 
/usr/sbin 
/sbin:/usr/local/bin 
/usr/local/mysql/bin 

您可以輕鬆地修改通過改變部分腳本在你的路徑已經在使用的位置,上面寫着~/bin/subl/usr/local/bin/subl

因此,運行以下命令將實現您的目標。

$ sudo ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl 
+0

這就是它!這是OSX 10.10及更高版本應該接受的答案。關鍵是使用sudo nano/etc/paths將/ usr/local/bin/subl添加到您的路徑中。然後你可以執行符號鏈接。 – cgossain

+1

在El Capitan(OS X 10.11)中很有用。謝謝! – JuanBoca

0

好像在優勝美地命令實際上是崇高3,但我可能是誤會:

ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/ 
1

這裏有完整的說明,以做到這一點(爲崇高的文本3):

  1. 請通過以下命令來檢查你的系統完整性保護狀態:

    $ csrutil status 
    

    如果它的啓用,請按照下列步驟操作:

    1. 啓動到OS X的恢復OS重新啓動您的計算機,並在啓動時按住Command + R鍵。

    2. 從Utilities菜單啓動終端。

    3. 運行以下命令:

      $ csrutil disable 
      $ reboot 
      

    這是由於安全功能,OS X的稱爲系統完整性保護,這將防止對系統的地點和過程未經授權的訪問。所以如果這個功能是啓用,那麼你的就不會能夠修改/ usr/bin的內容。

  2. 在/ usr/bin中創建符號鏈接〜/ bin中

    $ sudo ln -s /usr/bin ~/bin 
    
  3. 創建從崇高的文本3 CLI工具一個符號鏈接〜/ bin中

    $ sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl ~/bin 
    
  4. 測試它。

    $ subl . 
    
1
echo $PATH 

,並使用已經在那裏的路徑之一。在這個例子中 「在/ usr/local/bin目錄」

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

如果系統返回No such file or directory

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

測試,如果它的工作

subl 

這是崇高的文本3

+0

我跟着上面一堆,nup。我做到了 - 喲。謝謝你,很好,很簡單。 – danjah

相關問題