Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 为什么在sudo命令后不调用.bashrc文件?_Linux_Bash - Fatal编程技术网

Linux 为什么在sudo命令后不调用.bashrc文件?

Linux 为什么在sudo命令后不调用.bashrc文件?,linux,bash,Linux,Bash,我使用以下命令切换到另一个用户: sudo -u dsc -i 执行命令后,移动到主目录/home/dsc 但是,不会执行此目录中的.bashrc文件。为什么会发生这种情况?sudo-i启动一个登录shell。bashrc仅对非登录交互shell执行。但是,应该执行.bash\u profile、.bash\u login或.profile中的一个。并且,登录脚本的最后一个操作通常是为非登录脚本寻找源,以确保其具有一致的环境。如果我将其放入.bash\u profile。然后调用.bashrc

我使用以下命令切换到另一个用户:

sudo -u dsc -i
执行命令后,移动到主目录/home/dsc


但是,不会执行此目录中的.bashrc文件。为什么会发生这种情况?

sudo-i启动一个登录shell。bashrc仅对非登录交互shell执行。但是,应该执行.bash\u profile、.bash\u login或.profile中的一个。

并且,登录脚本的最后一个操作通常是为非登录脚本寻找源,以确保其具有一致的环境。如果我将其放入.bash\u profile。然后调用.bashrc,对吗?堆栈溢出中有110011个关于bash shell的问题,下一个问题,这个问题已经得到了很好的答案