Newb question - Running a script from the root directory
-
Is the directory in your path? What do you get from
echo $PATH
? -
What user are you trying to run it as?
Also, consider using a file location already designated for this instead. Like /usr/local/bin
-
@danp said in Newb question - Running a script from the root directory:
Is the directory in your path? What do you get from
echo $PATH
?Nothing in /opt would be by default.
-
@danp said in Newb question - Running a script from the root directory:
Is the directory in your path? What do you get from
echo $PATH
?echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/opt/scripts/:/root/opt/scriptsI've added it (twice).
-
OK that works just putting the script into /usr/local/bin
So much easier, now just to remove the custom paths. . .
-
Figured out how to remove the entries as well.
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
Damn that's easy.
-
@dustinb3403 said in Newb question - Running a script from the root directory:
Figured out how to remove the entries as well.
export PATH=/export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
Damn that's easy.
The more I learn, the more I realize that doing
$TASKS
in a Linux environment usually results in "Damn, that's easy." -
@scottalanmiller said in Newb question - Running a script from the root directory:
What user are you trying to run it as?
Also, consider using a file location already designated for this instead. Like /usr/local/bin
As the root user.
-
@eddiejennings said in Newb question - Running a script from the root directory:
@dustinb3403 said in Newb question - Running a script from the root directory:
Figured out how to remove the entries as well.
export PATH=/export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
Damn that's easy.
The more I learn, the more I realize that doing
$TASKS
in a Linux environment usually results in "Damn, that's easy."@scottalanmiller often tells me (paraphrased):
"You are making this much tougher on yourself because you are thinking about it like Windows. This is just ... EASY." -
@dustinb3403 said in Newb question - Running a script from the root directory:
@danp said in Newb question - Running a script from the root directory:
Is the directory in your path? What do you get from
echo $PATH
?echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/opt/scripts/:/root/opt/scriptsI've added it (twice).
Well first off you had /root/opt/scripts not /opt/scripts. Second you either have to log out and back in or tell your user to use the new path with something like
source ~/.bash_profile
I always put machine specific scripts in /use/local/bin. If I need to share them they are usually auto mounted.
-
@stacksofplates said in Newb question - Running a script from the root directory:
@dustinb3403 said in Newb question - Running a script from the root directory:
@danp said in Newb question - Running a script from the root directory:
Is the directory in your path? What do you get from
echo $PATH
?echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/opt/scripts/:/root/opt/scriptsI've added it (twice).
Well first off you had /root/opt/scripts not /opt/scripts. Second you either have to log out and back in or tell your user to use the new path with something like
source ~/.bash_profile
I used ````~/opt/scripts``` initially, as I wasn't aware of just adding my scripts into one of the existing locations. (everything said just add a new directory).
By simply moving the script into an already existing path, I am able to update with just "script.sh".
-
@dustinb3403 said in Newb question - Running a script from the root directory:
@stacksofplates said in Newb question - Running a script from the root directory:
@dustinb3403 said in Newb question - Running a script from the root directory:
@danp said in Newb question - Running a script from the root directory:
Is the directory in your path? What do you get from
echo $PATH
?echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/opt/scripts/:/root/opt/scriptsI've added it (twice).
Well first off you had /root/opt/scripts not /opt/scripts. Second you either have to log out and back in or tell your user to use the new path with something like
source ~/.bash_profile
I used ````~/opt/scripts``` initially, as I wasn't aware of just adding my scripts into one of the existing locations. (everything said just add a new directory).
By simply moving the script into an already existing path, I am able to update with just "script.sh".
When you are root and your home is /root and you put ~/opt/scripts that is /root/opt/scripts.
Remember that ~ is a shortcut to your home directory, which is /root
-
@scottalanmiller said in Newb question - Running a script from the root directory:
@dustinb3403 said in Newb question - Running a script from the root directory:
@stacksofplates said in Newb question - Running a script from the root directory:
@dustinb3403 said in Newb question - Running a script from the root directory:
@danp said in Newb question - Running a script from the root directory:
Is the directory in your path? What do you get from
echo $PATH
?echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/opt/scripts/:/root/opt/scriptsI've added it (twice).
Well first off you had /root/opt/scripts not /opt/scripts. Second you either have to log out and back in or tell your user to use the new path with something like
source ~/.bash_profile
I used ````~/opt/scripts``` initially, as I wasn't aware of just adding my scripts into one of the existing locations. (everything said just add a new directory).
By simply moving the script into an already existing path, I am able to update with just "script.sh".
When you are root and your home is /root and you put ~/opt/scripts that is /root/opt/scripts.
Remember that ~ is a shortcut to your home directory, which is /root
So by adding
/opt/scripts/
this would've worked, but would've added complexity for no reason. -
@dustinb3403 said in Newb question - Running a script from the root directory:
@scottalanmiller said in Newb question - Running a script from the root directory:
@dustinb3403 said in Newb question - Running a script from the root directory:
@stacksofplates said in Newb question - Running a script from the root directory:
@dustinb3403 said in Newb question - Running a script from the root directory:
@danp said in Newb question - Running a script from the root directory:
Is the directory in your path? What do you get from
echo $PATH
?echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/opt/scripts/:/root/opt/scriptsI've added it (twice).
Well first off you had /root/opt/scripts not /opt/scripts. Second you either have to log out and back in or tell your user to use the new path with something like
source ~/.bash_profile
I used ````~/opt/scripts``` initially, as I wasn't aware of just adding my scripts into one of the existing locations. (everything said just add a new directory).
By simply moving the script into an already existing path, I am able to update with just "script.sh".
When you are root and your home is /root and you put ~/opt/scripts that is /root/opt/scripts.
Remember that ~ is a shortcut to your home directory, which is /root
So by adding ```/opt/scripts/```` this would've worked, but would've added complexity for no reason.
Why so many quotes?
Yes, /opt/scripts would work, /root/opt/scripts does, too. Neither is a good location.
-
@dustinb3403 said in Newb question - Running a script from the root directory:
@scottalanmiller said in Newb question - Running a script from the root directory:
@dustinb3403 said in Newb question - Running a script from the root directory:
@stacksofplates said in Newb question - Running a script from the root directory:
@dustinb3403 said in Newb question - Running a script from the root directory:
@danp said in Newb question - Running a script from the root directory:
Is the directory in your path? What do you get from
echo $PATH
?echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/opt/scripts/:/root/opt/scriptsI've added it (twice).
Well first off you had /root/opt/scripts not /opt/scripts. Second you either have to log out and back in or tell your user to use the new path with something like
source ~/.bash_profile
I used ````~/opt/scripts``` initially, as I wasn't aware of just adding my scripts into one of the existing locations. (everything said just add a new directory).
By simply moving the script into an already existing path, I am able to update with just "script.sh".
When you are root and your home is /root and you put ~/opt/scripts that is /root/opt/scripts.
Remember that ~ is a shortcut to your home directory, which is /root
So by adding ```/opt/scripts/```` this would've worked, but would've added complexity for no reason.
No that still isn’t a default location. In the OP you said you put the script in /opt/scripts. Where did you actually put it?
-
@scottalanmiller said in Newb question - Running a script from the root directory:
@dustinb3403 said in Newb question - Running a script from the root directory:
@scottalanmiller said in Newb question - Running a script from the root directory:
@dustinb3403 said in Newb question - Running a script from the root directory:
@stacksofplates said in Newb question - Running a script from the root directory:
@dustinb3403 said in Newb question - Running a script from the root directory:
@danp said in Newb question - Running a script from the root directory:
Is the directory in your path? What do you get from
echo $PATH
?echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/opt/scripts/:/root/opt/scriptsI've added it (twice).
Well first off you had /root/opt/scripts not /opt/scripts. Second you either have to log out and back in or tell your user to use the new path with something like
source ~/.bash_profile
I used ````~/opt/scripts``` initially, as I wasn't aware of just adding my scripts into one of the existing locations. (everything said just add a new directory).
By simply moving the script into an already existing path, I am able to update with just "script.sh".
When you are root and your home is /root and you put ~/opt/scripts that is /root/opt/scripts.
Remember that ~ is a shortcut to your home directory, which is /root
So by adding
/opt/scripts/
this would've worked, but would've added complexity for no reason.Why so many quotes?
Yes, /opt/scripts would work, /root/opt/scripts does, too. Neither is a good location.
Grr those aren't quotes those are the red code markdown.... and I added to many.... sorry typo error.
-
@stacksofplates said in Newb question - Running a script from the root directory:
@dustinb3403 said in Newb question - Running a script from the root directory:
@scottalanmiller said in Newb question - Running a script from the root directory:
@dustinb3403 said in Newb question - Running a script from the root directory:
@stacksofplates said in Newb question - Running a script from the root directory:
@dustinb3403 said in Newb question - Running a script from the root directory:
@danp said in Newb question - Running a script from the root directory:
Is the directory in your path? What do you get from
echo $PATH
?echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/opt/scripts/:/root/opt/scriptsI've added it (twice).
Well first off you had /root/opt/scripts not /opt/scripts. Second you either have to log out and back in or tell your user to use the new path with something like
source ~/.bash_profile
I used ````~/opt/scripts``` initially, as I wasn't aware of just adding my scripts into one of the existing locations. (everything said just add a new directory).
By simply moving the script into an already existing path, I am able to update with just "script.sh".
When you are root and your home is /root and you put ~/opt/scripts that is /root/opt/scripts.
Remember that ~ is a shortcut to your home directory, which is /root
So by adding ```/opt/scripts/```` this would've worked, but would've added complexity for no reason.
No that still isn’t a default location. In the OP you said you put the script in /opt/scripts. Where did you actually put it?
Originally I created the directory
/opt/scripts
and put the script in there so the Directory looked like/opt/scripts/script.sh
I went back and change the script location to be in /usr/local/bin
So in /usr/local/bin I now have script.sh
This now works without issue, and /opt/scripts no longer exists.
-
@dustinb3403 said in Newb question - Running a script from the root directory:
@stacksofplates said in Newb question - Running a script from the root directory:
@dustinb3403 said in Newb question - Running a script from the root directory:
@scottalanmiller said in Newb question - Running a script from the root directory:
@dustinb3403 said in Newb question - Running a script from the root directory:
@stacksofplates said in Newb question - Running a script from the root directory:
@dustinb3403 said in Newb question - Running a script from the root directory:
@danp said in Newb question - Running a script from the root directory:
Is the directory in your path? What do you get from
echo $PATH
?echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/opt/scripts/:/root/opt/scriptsI've added it (twice).
Well first off you had /root/opt/scripts not /opt/scripts. Second you either have to log out and back in or tell your user to use the new path with something like
source ~/.bash_profile
I used ````~/opt/scripts``` initially, as I wasn't aware of just adding my scripts into one of the existing locations. (everything said just add a new directory).
By simply moving the script into an already existing path, I am able to update with just "script.sh".
When you are root and your home is /root and you put ~/opt/scripts that is /root/opt/scripts.
Remember that ~ is a shortcut to your home directory, which is /root
So by adding ```/opt/scripts/```` this would've worked, but would've added complexity for no reason.
No that still isn’t a default location. In the OP you said you put the script in /opt/scripts. Where did you actually put it?
Originally I created the directory
/opt/scripts
and put the script in there so the Directory looks like/opt/scripts/script.sh
I went back and change the script location to be in /usr/local/bin
So in /usr/local/bin I now have script.sh
This now works without issue, and /opt/scripts no longer exists.
Ok ya that’s where the problem was. /opt/scripts is different than /root/opt/scripts. If you would have had that in your .bashrc or .bash_profile (or whichever shell config you’re using) it would have worked. But you still have to let the user know of the PATH change.
-
Also what’s up with the giant red plus button right where you’re typing on mobile now?
-
@stacksofplates said in Newb question - Running a script from the root directory:
@dustinb3403 said in Newb question - Running a script from the root directory:
@stacksofplates said in Newb question - Running a script from the root directory:
@dustinb3403 said in Newb question - Running a script from the root directory:
@scottalanmiller said in Newb question - Running a script from the root directory:
@dustinb3403 said in Newb question - Running a script from the root directory:
@stacksofplates said in Newb question - Running a script from the root directory:
@dustinb3403 said in Newb question - Running a script from the root directory:
@danp said in Newb question - Running a script from the root directory:
Is the directory in your path? What do you get from
echo $PATH
?echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/opt/scripts/:/root/opt/scriptsI've added it (twice).
Well first off you had /root/opt/scripts not /opt/scripts. Second you either have to log out and back in or tell your user to use the new path with something like
source ~/.bash_profile
I used ````~/opt/scripts``` initially, as I wasn't aware of just adding my scripts into one of the existing locations. (everything said just add a new directory).
By simply moving the script into an already existing path, I am able to update with just "script.sh".
When you are root and your home is /root and you put ~/opt/scripts that is /root/opt/scripts.
Remember that ~ is a shortcut to your home directory, which is /root
So by adding ```/opt/scripts/```` this would've worked, but would've added complexity for no reason.
No that still isn’t a default location. In the OP you said you put the script in /opt/scripts. Where did you actually put it?
Originally I created the directory
/opt/scripts
and put the script in there so the Directory looks like/opt/scripts/script.sh
I went back and change the script location to be in /usr/local/bin
So in /usr/local/bin I now have script.sh
This now works without issue, and /opt/scripts no longer exists.
Ok ya that’s where the problem was. /opt/scripts is different than /root/opt/scripts. If you would have had that in your .bashrc or .bash_profile (or whichever shellconfigure you’re using) it would have worked. But you still have to let the user know of the PATH change.
I'm the user in this case, but I never really create / save my own scripts. I just got tired of running a set of commands, every other day.
Thus the need to figure out how I could run the script, without having to jump into the exact directory from which the script was saved.