1.用户登录系统时,bash首先执行/etc/profile配置文件和/etc/profile.d/目录下的配置文件,这些配置文件对系统的所有用户都有效,它们设置了普遍性的环境变量. 2.然后,Bash会执行登录用户主目录下的.bash_profile和.bashrc文件,通过这两个配置文件设置用户个性化的环境变量.并且可以重复设置前面配置文件中设置的选项,覆盖它们的设置值. 3.用户主目录下面的.bashrc文件会执行/etc/bashrc文件来完成环境变量的设置. 4.用户主目录下的.bas…
登陆shell与交互式非登陆shell的区别 登录shell 所谓登录shell,指的是当用户登录系统时所取的那个 shell.登录shell属于交互式shell. 登录shell将查找4个不同的启动文件来处理其中的命令. bash shell处理文件的顺序如下: /etc/profile /etc/profile.d等待配置文件 $HOME/.bash_profile $HOME/.bash_login $HOME/.profile /etc/profile是bash shell在系统上的主默…
作用: /etc/profile:登录时用来设置环境变量,执行文件中的命令,对所有用户生效. /etc/profile.d/:登录时和执行bash命令打开子shell时执行目录下所有已.sh结尾的脚本文件中的命令,对所有用户生效.(如果使用的是csh,则执行所有已.csh结尾的文件) /etc/bashrc:登录时和执行bash 命令打开子shell时都执行此文件,对所有用户生效. ~/.bashrc:类似于/etc/bashrc,不过只对当前用户生效. ~/.bash_profile:类似于/…
在添加环境变量的时候,我们会去修改配置文件 如果留意过,网上博文,有些在/etc/profile文件中配置的,有些是在~./bash_profile文件中配置的,等等 那么,/etc/profile.~/.profile.~/.bashrc.~./bash_profile这几个配置文件有什么区别呢? ~/.profile ~/.bashrc和~./bash_profile .bashrc The individual per-interactive-shell startup file. 这个文…
什么是交互式shell和非交互式shell,什么是login shell 和non-login shell. 交互式模式:就是shell等待你的输入,并且执行你提交的命令.这种模式被称作交互式是因为shell与用户进行交互.这种模式也是大多数用户非常熟悉的:登录.执行一些命令.签退.当你签退后,shell也终止了. 非交互式模式:在这种模式下,shell不与你进行交互,而是读取存放在文件中的命令,并且执行它们.当它读到文件的结尾,shell也就终止了. login shell:就是需要输入用户名…
Linux中含有两个重要的文件 /etc/profile和$HOME/.bash_profile 每当系统登陆时都要读取这两个文件,用来初始化系统所用到的变量,其中/etc/profile是超级用户所用,$HOME/.bash_profile是每个用户自己独立的,我们可以修改该文件来设置一些变量. 因为该文件"~/.bash_profile"是在每次登陆时才读取,因此需要重启才能生效…
profile(/etc/profile)和bash_profile的区别 profile(/etc/profile),用于设置系统级的环境变量和启动程序,在这个文件下配置会对所有用户生效.当用户登录(login)时,文件会被执行,并从/etc/profile.d目录的配置文件中查找shell设置. 一般不建议在/etc/profile文件中添加环境变量,因为在这个文件中添加的设置会对所有用户起作用. bash_profile只有单一用户有效,文件存储位于~/.bash_profile,该文件是…
login shell:第一次登录进系统时的shell,一般是指本机启动时的控制台shell或者ssh远程登录时的shell. interactive shell:登录以后,再打开控制台时运行的shell. none interactive shell:只是用来执行脚本的shell,执行完就结束进程了,没有用户交互过程. mac有个特殊地方:每次打开一个终端都是一个login shell. 检测当前shell是哪种的方法: To check if you are in an interactiv…
1. /etc/rc.local 这是使用者自订开机启动程序,把需要开机自动运行的程序写在这个脚本里. 把脚本程序写在/etc/rc.d/init.d/目录下也可以  在完成 run level 3 的服务启动后,如果我还有其他的动作想要完成时,举例来说, 我还想要寄一封 mail 给某个系统管理帐号,通知他,系统刚刚重新开机完毕,那么,是否应该要制作一个 shell script 放置在 /etc/rc.d/init.d/ 里面,然后再以连结方式连结到 /etc/rc.d/rc3.d/ 里面呢…
/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置. /etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取. ~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该 文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件. ~/.bashrc…