To be explicit about why, for others, this means your shell will search for executables in a 'bin' sub directory of whatever directory you happen to be in BEFORE it searches your normal path.
This allows for common commands like 'ls' to be executed from ./bin, if they're present, instead of /bin (from your system).
Once you've done this you've opened yourself up to an attack where you download a zip from the internet, extract it, cd into the directory and type 'ls' and you may have potentially executed something from that zip which you didn't intend to do.
tldr - relative paths in your $PATH is a bad idea.
... and let them take care of setting the local paths, and you never have to generate binstubs manually either. (YMMV, of course, but this works pretty well)
mnarayan01|11 years ago
jbrechtel|11 years ago
To be explicit about why, for others, this means your shell will search for executables in a 'bin' sub directory of whatever directory you happen to be in BEFORE it searches your normal path.
This allows for common commands like 'ls' to be executed from ./bin, if they're present, instead of /bin (from your system).
Once you've done this you've opened yourself up to an attack where you download a zip from the internet, extract it, cd into the directory and type 'ls' and you may have potentially executed something from that zip which you didn't intend to do.
tldr - relative paths in your $PATH is a bad idea.
bazzargh|11 years ago
https://github.com/ianheggie/rbenv-binstubs
And the rbenv-gem-rehash plugin:
https://github.com/sstephenson/rbenv-gem-rehash
... and let them take care of setting the local paths, and you never have to generate binstubs manually either. (YMMV, of course, but this works pretty well)