On Mon, Jan 07, 2013 at 05:51:39PM +0530, Jayesh Badwaik wrote: > Hi, > > On Mon, Jan 7, 2013 at 5:18 PM, Rodrigo Rivas > <rodrigorivascosta@xxxxxxxxx> wrote: > > You may also add a `echo $profile` command in the /etc/profile file, just > > after `for profile in /etc/profile.d/*.sh; do` to see the trace of sourced > > files. > > Thanks for the suggestion. I implemented this and got the following output. > /etc/profile.d/gpg-agent.sh No package owns this file. Where did it come from? > declare -x HOME="/root" > declare -x LOGNAME="root" > declare -x OLDPWD > declare -x PATH="/usr/bin:/usr/local/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin" > declare -x PWD="/root" > declare -x SHELL="/bin/bash" > declare -x SHLVL="1" > declare -x TERM="xterm" > declare -x USER="root" > /etc/profile.d/gpm.sh > /etc/profile.d/jdk.sh > > I guess, this means the gpg-agent.sh is the one outputting all the > terms. So, I read the gpg-agent.sh and here is the output for the > same: > if pgrep -u "${USER}" gpg-agent >/dev/null 2>&1; then > eval `cat $gnupginf` > eval `cut -d= -f1 $gnupginf | xargs echo export` > else > eval `gpg-agent --enable-ssh-support --daemon` > fi Ew. > > > And after commenting lines selectively, the line > > eval `cut -d= -f1 $gnupginf | xargs echo export` > > seems to be outputting all the variables. I am not sure what this line > does exactly. I am guessing that it checks if the gpg daemon is on, > and if it is not, it turns it on, and if it is, it lists some > environment variables, according to some condition. I am not sure > which. > > Is my guess correct? In which case, would it be safe to comment the lines? No, this happens because nothing is passed to xargs, which results in: eval `echo export` Or, simple running 'export'. You'll see that running export without any arguments simply dumps a list of exported variables. I'd suggest removing this file entirely if no package owns it and using something like keychain if you want a singleton ssh-agent for your user.