Why does subshell not inherit exported variable (PS1)?
        Posted  
        
            by 
                amn
            
        on Super User
        
        See other posts from Super User
        
            or by amn
        
        
        
        Published on 2013-10-21T09:51:08Z
        Indexed on 
            2013/10/21
            9:59 UTC
        
        
        Read the original article
        Hit count: 313
        
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.)
© Super User or respective owner