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

    文章

    10990

    浏览量

    206735
收藏 人收藏

    评论

    相关推荐

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

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

    Linux执行shell脚本的两种方式

    一条的执行很是不大方便,这种太多命令的才能完成的,一般都是编写一个shell脚本来进行操作,而不用一步一步的进行。有些时候在Linux中的很多对应的应用程序目录下有很多.sh结尾的
    发表于 11-18 16:49 1389次阅读
    <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 597次阅读
    通过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

    远端机器的临时执行命令

    例行化的工作,像复杂的配置管理、机械化的环境部署,可以用Ansible的playbook(剧本)功能。临时需要在远端机器执行命令时,可以使用Ansible的ad-hoc command(临时执行命令
    发表于 07-19 06:42

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

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

    如何让自己的应用程序自动启动

    :1.通过/Linuxrc脚本直接启动Linux内核一旦开始执行,它将通过驱动程序来初始化所有硬件设备,这个初始化过程可以
    发表于 12-21 06:29

    如何优化嵌入式Linux启动时

    优化嵌入式Linux启动时间之启动脚本注:本文转载自微信公众号嵌入式客栈——优化嵌入式Linux启动时间之
    发表于 12-23 06:43

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

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

    如何创建和执行一个简单的Linux shell脚本

     如果您愿意要尝试更长的shell脚本,请将下面的shell脚本(并附加为PDF和ODT文件)复制到文本编辑器中,保存,使其可执行并运行。当您了解更多Linux
    的头像 发表于 11-06 17:28 1.3w次阅读

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

    在英创Linux主板的使用必读中,已经详细的介绍了使用userinfo.txt来配置系统开机自动执行程序的方法,详情可以参见英创Linux
    的头像 发表于 01-17 10:23 1108次阅读
    英创信息技术<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脚本编写
    发表于 01-11 16:50 4次下载

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

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

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

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