Non-sudo alternative to /usr/local/bin for common scripts
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?
How to do it?
Create some dir in your home to hold your scripts normally named as bin
as convention.
mkdir ~/bin
Now move your scripts to bin
mv somescript ~/bin
Now how to make it tun from everywhere?!
You have to add the bin
to the PATH
open your .bashrc
gedit .bashrc
and add this line:
export PATH=$PATH:/home/username/bin
Don't forget to replace username
with your User Name
Save and exit, then source the bashrc
source .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
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
In addition to https://askubuntu.com/a/643030/218015 you might can also define an alias inside your .bashrc for small, often used tasks. E.g.
alias ll='ls -l'
alias ls='ls --color=auto'
will create you a "command" ll, which is doing ls -l and ls will be coloured after defining the alias. https://wiki.ubuntuusers.de/alias is having some more examples and a howto for setting it up.