linux启动脚本无效,Linux启动脚本

一、开机启动时自动运行程序

1, init是所有进程的顶层,init读取/etc/inittab配置

2, init调用执行/etc/inittab配置的/etc/rc.d/rc.sysinit脚本

3, rc.sysinit根据inittab执行/etc/rc?.d/目录下的各个脚本

4,大多数启动脚本放置在 /etc/rc.d/init.d下(/etc/init.d是到/etc/rc.d/init.d/的符号链接)

rc?.d中放置的是init.d中脚本的符号链接,命名格式是:

S{number}{name}

K{number}{name}

S开始的文件向脚本传递start参数

K开始的文件向脚本传递stop参数

number决定执行的顺序

其中有文件:S99local 为 ../rc.local(即/etc/rc.d/rc.local的符号连接)

二、Shell自动运行的脚本

Linux在登录和注销过程中,会按以下顺序先后自动执行几个重要的脚本文件:/etc/profile => [/etc/environment] => (~/.bash_profile | ~/.bash_login | ~/.profile)  =>  ~/.bashrc  =>  (/etc/bash.bashrc | /etc/bashrc) => ~/.bash_logout。

以下简要介绍这些脚本文件的运行时机和作用。

/etc/rc.local

Linux启动时执行的脚本。注意,这里指内核启动,发生在登录之前。

/etc/profile

当用户第一次登录时,该文件被执行。在该脚本中,又会调用执行/etc/profile.d目录下的所有脚本。

/etc/environment

建议用于设置全局环境变量,仅debain系列发行版(如Ubuntu)才有。

/etc/bash.bashrc | /etc/bashrc

当bash shell被打开时,该文件被执行。Redhat系列发行版是bashrc,Debian系列发行版是bash.bashrc。

~/.bash_profile | ~/.bash_login | ~/.profile

用于设置专属于某用户的Shell信息,当用户第一次登录时,该文件被执行一次。默认情况下,他设置一些环境变量,然后调用执行用户的~/.bashrc文件。注意,bash启动时按以上列出的顺序查找这三个文件,但只执行最先找到的脚本文件。

~/.bashrc

用于设置专属于某用户的Shell信息,当登录时以及每次打开新的shell时,该文件被执行。 ~/.bash_profile 是交互式、login 方式进入 bash 运行的,~/.bashrc 是交互式 non-login 方式(终端窗口)进入 bash 运行的。

~/.bash_logout

当注销或退出系统时,执行该文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux 设置脚本开机自启无效的问题可能有多种原因,下面提供一些可能的排查方法: 1. 检查脚本是否可执行 在 Linux 中,只有可执行的脚本才能被执行。可以使用以下命令检查脚本是否可执行: ```bash ls -l /path/to/script.sh ``` 如果脚本文件没有执行权限,可以使用以下命令添加执行权限: ```bash chmod +x /path/to/script.sh ``` 2. 检查脚本中是否有错误 如果脚本中存在语法错误或逻辑错误,可能导致脚本执行失败。可以尝试在终端中手动执行脚本,查看是否能够正常执行。如果脚本执行失败,可以使用以下命令查看错误信息: ```bash bash -x /path/to/script.sh ``` 该命令会以调试模式执行脚本,并输出执行过程中的详细信息,有助于找到错误。 3. 检查脚本中是否有依赖关系 如果脚本中依赖其他程序或库,可能在开机时找不到相应的依赖项,导致脚本执行失败。可以尝试在终端中手动执行脚本,查看是否能够正常执行,如果执行失败,可以尝试手动安装相应的依赖项。 4. 检查开机自启配置文件是否正确 Linux 中的开机自启配置文件通常位于 /etc/rc.local 或 /etc/init.d/ 目录中。可以检查配置文件中是否正确设置了脚本路径和执行权限等信息。如果配置文件中存在语法错误,可能导致脚本无法被执行。可以使用以下命令检查配置文件是否存在语法错误: ```bash bash -n /path/to/config ``` 该命令会检查配置文件中是否存在语法错误,如果存在错误,会输出错误信息。 希望以上方法能够帮助你找到问题所在。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值