0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

在Linux启动时自动执行命令或脚本的方法

电子设计 来源:网络整理 2018-09-21 07:37 次阅读

在启动 Linux 系统并登录的过程中到底发生了什么事情。按下开机键或启动一个虚拟机,你就启动了一系列事件,之后会进入到一个功能完备的系统中,有时,这个过程不到一分钟。当你注销或者关机时,也是这样。

更有意思的是,在系统启动以及用户登录或注销时,还可以让系统执行特定的操作。

本文,我们将探讨一下在 Linux 操作系统中实现这些目标的传统方法。

注意:我们假定使用的是 Bash 作为登录及注销的主 Shell。如果你使用的是其他 Shell,那么有些方法可能会无效。如果有其他的疑问,请参考对应的 Shell 文档。

在启动时执行 Linux 脚本

有两种传统的方法可以实现在启动时执行命令或脚本:

方法 #1 - 使用 cron 任务

除了常用格式(分 / 时 / 日 / 月 / 周)外,cron 调度器还支持 @reboot 指令。这个指令后面的参数是脚本(启动时要执行的那个脚本)的绝对路径。

然而,这种方法需要注意两点:

a) cron 守护进程必须处于运行状态(通常情况下都会运行),同时

b) 脚本或 crontab 文件必须包含需要的环境变量(如果有的话,参考 StackOverflow 获取更多详细内容)。

方法 #2 - 使用 /etc/rc.d/rc.local

这个方法对于 systemd-based 发行版 Linux 同样有效。不过,使用这个方法,需要授予 /etc/rc.d/rc.local 文件执行权限:




在登录或注销时执行 Linux 脚本

要在登录或注销时执行脚本,分别需要使用 ~.bash_profile 和 ~.bash_logout 文件。多数情况下,后者需要手动创建。在每个文件的底部,添加调用脚本代码,如前面例中所示,就可以实现这个功能。

总结

本文主要介绍如何在启动、登录以及注销系统时执行脚本。如果你有其他的方法可以补充,请使用下面的评论给我们指出,我们期待您的回应!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    11230

    浏览量

    208937
收藏 人收藏

    评论

    相关推荐

    嵌入式Linux启动时间优化的秘密之四-启动脚本

    本文主要讲述嵌入式Linux启动时间优化的秘密,我们继续上篇没有讲完的嵌入式Linux启动时间优化方法,本文主要会讲
    发表于 04-21 09:22 2396次阅读
    嵌入式<b class='flag-5'>Linux</b><b class='flag-5'>启动时</b>间优化的秘密之四-<b class='flag-5'>启动脚本</b>

    Linux执行shell脚本的两种方式

    一条的执行很是不大方便,这种太多命令的才能完成的,一般都是编写一个shell脚本来进行操作,而不用一步一步的进行。有些时候Linux中的很
    发表于 11-18 16:49 1805次阅读
    <b class='flag-5'>Linux</b>中<b class='flag-5'>执行</b>shell<b class='flag-5'>脚本</b>的两种方式

    通过JTAG启动Linux方法脚本

    存储器(QSPI Flash,eMMC 等)上的镜像,直接启动Linux。但当板子调试时,经常需要通过 JTAG 把 SoC 器件启动Linux。这篇文章将分享通过 JTAG
    的头像 发表于 12-22 10:27 1394次阅读
    通过JTAG<b class='flag-5'>启动</b><b class='flag-5'>Linux</b>的<b class='flag-5'>方法</b>和<b class='flag-5'>脚本</b>

    开机自启动linux执行脚本方法

    Linux配置开机自启动执行脚本方法有很多,这里分享两种方法,分别是修改/etc/rc.local方法
    发表于 03-30 17:07

    讨论Linux系统中设置开机自动运行的两种方法

    有时可能会需要在重启时或者每次系统启动时运行某些命令或者脚本。我们要怎样做呢?本文中我们就对此进行讨论。 我们会用两种方法来描述如何在 CentOS/RHEL 以及 Ubuntu 系统
    发表于 07-09 06:38

    请问Java如何执行cmd命令、bat脚本linux命令,shell脚本

    Java如何执行cmd命令、bat脚本linux命令,shell脚本
    发表于 11-10 07:29

    请问如何在代码里执行命令行啊?

    请问如何在代码里执行命令行啊?比如,命令行可以执行echo abcdefg aaa.txt生成一个aaa.txt。那么如何在程序中执行 e
    发表于 10-28 10:15

    CAD中如何快速重复执行命令

    快速重复执行命令主要是靠鼠标右键或者是键盘上的空格以及上下方向键。 输入OP命令打开选项对话框,点用户系统配置选项卡自定义右键单击按钮,默认模式下无论是否选定对象,单
    发表于 10-23 17:04 1614次阅读

    英创信息技术Linux脚本启动应用程序方法简介

    英创Linux主板的使用必读中,已经详细的介绍了使用userinfo.txt来配置系统开机自动执行程序的方法,详情可以参见英创
    的头像 发表于 01-17 10:23 1294次阅读
    英创信息技术<b class='flag-5'>Linux</b><b class='flag-5'>脚本</b><b class='flag-5'>启动</b>应用程序<b class='flag-5'>方法</b>简介

    Linux系统命令及shell脚本实践指南

    Linux系统命令及shell脚本实践指南资料下载。
    发表于 06-01 14:47 28次下载

    Linux命令行与shell脚本编写

    Linux命令行与shell脚本编写
    发表于 01-11 16:50 4次下载

    如何用paramiko登陆服务器并执行命令

    paramiko是用来远程执行命令的模块,
    的头像 发表于 03-03 15:27 989次阅读
    如何用paramiko登陆服务器并<b class='flag-5'>执行命令</b>

    为什么shell脚本执行命令要加exec?这个exec有什么作用呢?

    正常情况下,如果我们想要在shell脚本执行一个命令,我们只用将该命令原样写到这个shell脚本中就好了。
    的头像 发表于 08-21 09:10 2887次阅读
    为什么shell<b class='flag-5'>脚本</b>中<b class='flag-5'>执行命令</b>要加exec?这个exec有什么作用呢?

    linux中source命令的用法

    Linux中,source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录。source命令可以用于读取并
    的头像 发表于 11-08 14:35 2250次阅读

    Linux开机启动方案

    不管组件是否已经安装为系统服务,可以通过开机启动脚本实现 注意,以下操作,均需要设置相关脚本的可执行权限,即 chmod +x 启动脚本
    发表于 04-22 09:45 247次阅读