Do not understand the meaning of bash configuration file /etc/bashrc code

  linux, question

There are questions about a piece of code in the file /etc/bashrc:

for i in /etc/profile.d/*.sh ;  do
 if [ -r "$i" ];  then
 if [ "${-#*i}" !  = "$-" ];  then
 . "$i"
 else
 . "$i" >/dev/null
 fi
 fi
 done

The innermost of theseifWhat is the difference between the two branches of a statement? Redirect to /dev/null means file$iWas it not carried out?

Why don’t you go to Google and ask questions later?

Interpretation of Shell default option himBH

I just found out that I wouldn’t have this problem either, so I went to Google and came out immediately. If you can’t go to Google, it is recommended that you buy wall-climbing software or go to the internet to buy and set up a proxy server.

As to why it appeared>/dev/null, very simple, is the output redirection. There will be no output in the upper branch and output in the lower branch./dev/nullIt’s a black hole-like thing. If you throw something into it, it’s equivalent to deleting it.
After reading the article in the link above, why do you know why some of the 2 branches have output after some branches and some have not