Linux 关于环境变量和自启脚本笔记


共计 811 个字符,预计需要花费 3 分钟才能阅读完成。

linux 里面有很多文件实现的功能类似,但是深究其实还是有点区别,一般来说可能不重要,但是涉及到的时候一定要注意区别。

1. /etc/profile 和 .bashrc

  • 什么是 /etc/profile 文件

/etc/profile 文件为系统的每个用户设置环境变量信息,此文件的修改会影响到所有用户。想了解更多细节内容可以用:vim /etc/profile 命令进行查看。

  • /etc/profile 文件和 .bashrc 文件的区别

/etc/profile 影响所有用户,.bashrc 影响当前用户。

  • /etc/profile 文件妙用

当需要某些操作在系统运行起来就自动执行时,可以考虑将该部分代码写到 /etc/profile 文件中。

2. /etc/rc.local 脚本和 /etc/init.d 中脚本区别

  • /etc/init.d/**

init.d 目录中的脚本都是以服务的形式启动的,顾名思义,服务会在后台一直运行。

系统在执行 init.d 目录中的服务脚本时,会分别单独为每个服务脚本启动一个非登录非交互式 shell 来始终在后台运行服务脚本一直到用户退出登录,关闭系统,这些始终运行在各个非登录非交互式的 shell 中的服务脚本才会停止运行。

  • /etc/rc.local

打开这个脚本看看,发现默认只有一行命令: exit 0

说明,这个脚本要以 0 这个返回参数来结束这个脚本的运行,而系统则要以是否得到0这个返参来决定是否继续进行下一步开机步骤。

/etc/rc.local 这个脚本中的命令不能像服务脚本那样始终占用这个系统为了执行 rc.local 而启动的非登录非交互式 shell,而应该每一条命令都可以自动执行完毕,一直执行到:exit 0 这句命令,而且是必须执行到这句命令,否则系统将卡在这个脚本,无法继续开机。

运行 rc.local 的 shell 必定要退出关闭(否则无法开机),所以 rc.local 这个脚本中,不要写设置系统环境变量的命令,或者是设置 alias 别名的语句

提醒:本文发布于472天前,文中所关联的信息可能已发生改变,请知悉!

Tips:清朝云网络工作室

阅读剩余
THE END