.bashrc、.bash-profile和.profile的区别

Bash shell使用几个启动文件来设置环境。这些文件确定了shell本身和系统用户的某些Bash shell配置。

在本教程中,我们将学习一些启动文件,如.bashrc、.bash-profile和.profile,以及它们之间的区别。

交互式shell和非交互式shell

Bash在交互式shell中提供了两种模式的选项,即登录和非登录。

当我们使用ssh登录到一个系统时,我们会得到一个交互式登录shell。这个shell在被调用时读取启动文件。 然而,当我们在一个已经登录的shell上调用一个新的shell时,我们将得到一个交互式的、非登录的shell。这种类型的shell只执行.bashrc文件。

当shell不需要任何人为干预来执行命令时,我们称其为非交互式shell。例如,当脚本派生出一个子shell来执行命令时,该子shell是非交互式shell。这个shell不执行任何启动文件。它从创建它的shell继承环境变量。

Bash启动文件

启动文件包含shell启动时要执行的命令。因此,shell将自动执行这些文件中提供的命令来设置shell。这甚至发生在命令提示符显示之前。

.bash_profile的意义

.bash_profile文件包含设置环境变量的命令。因此,未来的shell将继承这些变量。

在交互式登录shell中,Bash首先查找/etc/profile文件。如果找到,Bash将读取并在当前shell中执行它。因此,/etc/profile为所有用户设置环境配置。

类似地,Bash然后检查主(home)目录中是否存在.bash_profile。如果是,那么Bash在当前she ......

......

抱歉,只有登录会员才可浏览!会员登录


《PySpark原理深入与编程实战》