如何确定 bash 是通过 --norc 还是 --rcfile 调用的?

如何确定 bash 是通过 --norc 还是 --rcfile 调用的?

有没有办法确定当前 shell 是使用该--norc标志还是--rcfile(又名--init-file)标志调用的?如果使用后者,它的论据是什么?

PS:我知道,在Linux上,我也许可以抓取 的内容/proc/$$/cmdline,所以对于这个问题我感兴趣的是不依赖于Unix风格的答案。

答案1

您可以询问ps当前 shell 的参数并查找这些选项:

if [[ $(ps -o args= -p $$) =~ (--norc|--rcfile|--init-file) ]]
then 
  echo yes
fi

相关内容