Why does subshell not inherit exported variable (PS1)?
- by amn
After some debugging I finally narrowed down the problem as to why my X session xterm prompt does not appear according to my PS1 setting. If I run sh -c env, it doesn't even show PS1 in the list. Why?
export PS1='test'
sh -c env # No PS1 in the list, default prompt appearance (shell name + version)
Substituting sh with bash yields same result, alas the behavior appears to be the same for both shells/modes. As far as I understood from man bash, the environment resulting from command run by shell with -c should include the exported variables. And it does - exporting FOOBAR results in FOOBAR listed in env run by subshell. It appears that the story is different if the variable is PS1 however. What is going on? I want my prompt propagated throughout the process tree and system. For matters sake, it is set in /etc/profile.d/user.sh (a file I created myself) with the following:
PS1='\u@\H \w \$ '
export PS1
I am running Arch Linux (updated yesterday.)