I'm used to putting common scripts in /usr/local/bin
so that I can execute them from anywhere with the terminal.
For example, I make a shell script named 1
, make it executable with chmod +x 1
and put it in /usr/local/bin
, and inside the script I type #!/bin/sh
on the first line, and then my commands. From there on, it's very conveniently usable and quick to execute by typing
1
Enter
on the terminal, from inside any folder.
My problem is that I'm currently working on a computer where can't do sudo
and I can't expect to get it either, so I can't place my script in /usr/local/bin
.
What are my options? Is there another path with the same "run from anywhere" capability, which I can access without sudo
, or another way to achieve something equivalent?
The accepted answer to this post says
For user-scoped scripts, use bin/ in your home directory.
Which I tried, but there is no bin
folder in my home directory, and when I created one, I still could not run the script from anywhere else.
I'm running on Ubuntu 12.04 LTS.
Best Answer
How to do it?
Create some dir in your home to hold your scripts normally named as
bin
as convention.Now move your scripts to bin
Now how to make it tun from everywhere?!
You have to add the
bin
to the PATHopen your
.bashrc
and add this line:
Don't forget to replace
username
with your User NameSave and exit, then source the bashrc
and now you are fine, you can run your script as you used to do! but you have to notice this is related to your user only.
Note: It's better to rename your scripts other than 1 ,2 since you may face some issues with that names
UPDATE:
You can do same just create the bin dir in your home then
source ~/.profile
instead of~/.bashrc
. Since adding the ~/bin to your PATH is already listed in.profile