How do I add ~/bin to my path?

前端 未结 13 909
太阳男子
太阳男子 2020-12-22 19:30

I\'ve been having trouble modifying my path to add Sublime Text 2. I\'ve added a ~/bin directory and run this command:

ln -s \"/Applications/Sub         


        
相关标签:
13条回答
  • 2020-12-22 19:32

    Update for zsh For some reason, "~/bin" in my path wasn't working when I recently switched from bash to zsh/prezto. I changed it to "/Users/myusername/bin" and it works fine once again. I'll be looking for a reason why and update when I find it. Please comment if you have a better solution.

    I know this is an old post, but thought I'd document a solution for anyone else trying to follow the instructions given by sublimetext for working with sublime from the OSX command line verbatim. Update for Sublime text 3 Sublime Text 3 Documentation

    1) Create a directory called "bin" in your home directory "~/"

    mkdir ~/bin
    

    2) Create a symbolic link to your sublime text 2 app in the new directory you just created

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

    Update for Sublime Text 3 app path is slightly different:

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

    3) Follow Ryan Hoffman's instructions on how to easily add to the path in OSX: add to the path on Mac OSX Add the newly created "~/bin" to the path using his technique. Your /etc/paths file will look something like this when you're done (notice ~/bin at the end):

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

    4) Open a new terminal window to start using subl from the command line.

    0 讨论(0)
  • 2020-12-22 19:35

    I'd like to pose an alternate solution to this problem. Use a directory already in your path. Like this:

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

    tl;dr

    I ran into the same problem in Yosemite (OS X 10.10) where, in a fresh install of the OS, the ~/bin directory doesn't exist and isn't in your path. Yet there are lots of useful places already in your path you could place the symlink to Sublime.

    For example here are the items currently in my path (use $ echo $PATH to get a list):

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

    You can easily modify the script to use a location already in your path by changing the part that says ~/bin/subl to /usr/local/bin/subl

    Thus, running the following command will accomplish your goal.

    $ sudo ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl
    
    0 讨论(0)
  • 2020-12-22 19:35

    had the same challenge and ended up just creating a .bash_profile file, and adding the path statement directly there. Worked without incident. You may want to also check out Alvin Alexander's sample .bash_profile post (http://alvinalexander.com/blog/post/mac-os-x/sample-mac-osx-bashrc-terminal-startup-file) - I found a couple of other helpful commands that I'll be adding as well.

    0 讨论(0)
  • 2020-12-22 19:35

    I had been struggling with this problem recently. I realized that the ~ isn't expanded to your home directory in the path. At least it wasn't for me.

    This is what I did to make it work.

    export PATH=$PATH:$HOME/bin
    

    My subl was linked from the application directory into my ~/bin per some followup instructions I found for brew cask. Unfortunately the path was never updated.

    0 讨论(0)
  • 2020-12-22 19:37

    You don't need to do PATH=$PATH:~/bin/subl. Instead, PATH=$PATH:~/bin is sufficient. That way, you are telling the shell to look into ~/bin for binaries. With your command, you told the shell to look into the "folder" ~/bin/subl for binaries, which doesn't work. Furthermore, you don't need to add the commands in two files. Add them once in your .bashrc. I am not a bash expert, but I can recommend reading this blog post for further explanations of the different startup files.

    0 讨论(0)
  • 2020-12-22 19:46

    Here are the full instructions to do this (for Sublime Text 3):

    1. Please check your System Integrity Protection status by the following command:

      $ csrutil status
      

      If it's enabled, please follow these steps:

      1. Boot to the Recovery OS of OS X by restarting your machine and holding down Command + R at startup.

      2. Launch Terminal from the Utilities menu.

      3. Run the following command:

        $ csrutil disable
        $ reboot
        

      This is due to a security feature of OS X called System Integrity Protection, which will protect against unauthorised access to system locations and processes. So if this feature is enabled, you won't be able to modify the content of /usr/bin.

    2. Create a symlink from /usr/bin to ~/bin:

      $ sudo ln -s /usr/bin ~/bin
      
    3. Create a symlink from the Sublime Text 3 CLI tool to ~/bin:

      $ sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl ~/bin
      
    4. Test it.

      $ subl .
      
    0 讨论(0)
提交回复
热议问题