Reading system varibles in script











up vote
0
down vote

favorite












I am trying to read a system variable that is XDG_CURRENT_DESKTOP from a shell script.



echo the variable in terminal works fine.
but when running it within a bash script it echoes empty due to that the script runs from an child shell



I cannot export it, I don't know the source of the varible.
is there any way to import a system variable without messing with bashrc?



/Pierre










share|improve this question






















  • Not sure exactly what you mean by, "... echoes empty due to that the script runs from an child shell" Are you saying you have a shell script that runs, "echo ${XDG_CURRENT_DESKTOP}" and if you run that script from a shell it prints out a blank line (i.e. XDG_CURRENT_DESKTOP is not set)?
    – Lewis M
    Nov 29 at 12:48










  • When you run a script, it runs in a subshell. Variables are only valid within the context of that subshell. and "system varibles" like XDG_CURRENT_DESKTOP are not included in the subshell, so no XDG_CURRENT_DESKTOP is not set in the subshell.
    – Pierre Den Gode
    Nov 30 at 9:26















up vote
0
down vote

favorite












I am trying to read a system variable that is XDG_CURRENT_DESKTOP from a shell script.



echo the variable in terminal works fine.
but when running it within a bash script it echoes empty due to that the script runs from an child shell



I cannot export it, I don't know the source of the varible.
is there any way to import a system variable without messing with bashrc?



/Pierre










share|improve this question






















  • Not sure exactly what you mean by, "... echoes empty due to that the script runs from an child shell" Are you saying you have a shell script that runs, "echo ${XDG_CURRENT_DESKTOP}" and if you run that script from a shell it prints out a blank line (i.e. XDG_CURRENT_DESKTOP is not set)?
    – Lewis M
    Nov 29 at 12:48










  • When you run a script, it runs in a subshell. Variables are only valid within the context of that subshell. and "system varibles" like XDG_CURRENT_DESKTOP are not included in the subshell, so no XDG_CURRENT_DESKTOP is not set in the subshell.
    – Pierre Den Gode
    Nov 30 at 9:26













up vote
0
down vote

favorite









up vote
0
down vote

favorite











I am trying to read a system variable that is XDG_CURRENT_DESKTOP from a shell script.



echo the variable in terminal works fine.
but when running it within a bash script it echoes empty due to that the script runs from an child shell



I cannot export it, I don't know the source of the varible.
is there any way to import a system variable without messing with bashrc?



/Pierre










share|improve this question













I am trying to read a system variable that is XDG_CURRENT_DESKTOP from a shell script.



echo the variable in terminal works fine.
but when running it within a bash script it echoes empty due to that the script runs from an child shell



I cannot export it, I don't know the source of the varible.
is there any way to import a system variable without messing with bashrc?



/Pierre







bash scripts environment-variables






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 29 at 10:56









Pierre Den Gode

93




93












  • Not sure exactly what you mean by, "... echoes empty due to that the script runs from an child shell" Are you saying you have a shell script that runs, "echo ${XDG_CURRENT_DESKTOP}" and if you run that script from a shell it prints out a blank line (i.e. XDG_CURRENT_DESKTOP is not set)?
    – Lewis M
    Nov 29 at 12:48










  • When you run a script, it runs in a subshell. Variables are only valid within the context of that subshell. and "system varibles" like XDG_CURRENT_DESKTOP are not included in the subshell, so no XDG_CURRENT_DESKTOP is not set in the subshell.
    – Pierre Den Gode
    Nov 30 at 9:26


















  • Not sure exactly what you mean by, "... echoes empty due to that the script runs from an child shell" Are you saying you have a shell script that runs, "echo ${XDG_CURRENT_DESKTOP}" and if you run that script from a shell it prints out a blank line (i.e. XDG_CURRENT_DESKTOP is not set)?
    – Lewis M
    Nov 29 at 12:48










  • When you run a script, it runs in a subshell. Variables are only valid within the context of that subshell. and "system varibles" like XDG_CURRENT_DESKTOP are not included in the subshell, so no XDG_CURRENT_DESKTOP is not set in the subshell.
    – Pierre Den Gode
    Nov 30 at 9:26
















Not sure exactly what you mean by, "... echoes empty due to that the script runs from an child shell" Are you saying you have a shell script that runs, "echo ${XDG_CURRENT_DESKTOP}" and if you run that script from a shell it prints out a blank line (i.e. XDG_CURRENT_DESKTOP is not set)?
– Lewis M
Nov 29 at 12:48




Not sure exactly what you mean by, "... echoes empty due to that the script runs from an child shell" Are you saying you have a shell script that runs, "echo ${XDG_CURRENT_DESKTOP}" and if you run that script from a shell it prints out a blank line (i.e. XDG_CURRENT_DESKTOP is not set)?
– Lewis M
Nov 29 at 12:48












When you run a script, it runs in a subshell. Variables are only valid within the context of that subshell. and "system varibles" like XDG_CURRENT_DESKTOP are not included in the subshell, so no XDG_CURRENT_DESKTOP is not set in the subshell.
– Pierre Den Gode
Nov 30 at 9:26




When you run a script, it runs in a subshell. Variables are only valid within the context of that subshell. and "system varibles" like XDG_CURRENT_DESKTOP are not included in the subshell, so no XDG_CURRENT_DESKTOP is not set in the subshell.
– Pierre Den Gode
Nov 30 at 9:26















active

oldest

votes











Your Answer








StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "89"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f1097081%2freading-system-varibles-in-script%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown






























active

oldest

votes













active

oldest

votes









active

oldest

votes






active

oldest

votes
















draft saved

draft discarded




















































Thanks for contributing an answer to Ask Ubuntu!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.





Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


Please pay close attention to the following guidance:


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f1097081%2freading-system-varibles-in-script%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

flock() on closed filehandle LOCK_FILE at /usr/bin/apt-mirror

Mangá

Eduardo VII do Reino Unido