Newb question - Running a script from the root directory
-
I have a script on CentOS7 held in
/opt/scripts
I want to be able to run the script by simply sitting in/
and runningscriptname.sh
How can I register this script so it's usable globally for the root user?
The script is already executable.
-
add the directory to the path variable.
-
@dashrender said in Newb question - Running a script from the root directory:
add the directory to the path variable.
Any guidance on that process?
-
@dustinb3403 said in Newb question - Running a script from the root directory:
@dashrender said in Newb question - Running a script from the root directory:
add the directory to the path variable.
Any guidance on that process?
For Windows, sure, nix - not a clue - google would be my friend.
-
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.