如何在Linux上启动时运行Bash脚本?

亚力克

我在iMX7双开发板上运行Linux 4.9.11-1.0.0。我有一个test.sh要在启动时运行文件。当前它只有一堆echo语句(仅用于测试目的)。

当我轻按板上的开关以将其打开时,我看到了一大堆初始化内容。我希望文件中echo语句test.sh也可以在启动时按此初始化顺序显示。最终,一旦工作成功,计划就是做些实际的工作来代替简单的echo陈述。我只想确保脚本此时在启动时运行。

到目前为止,我已经创建了该test.sh文件,并且在主板启动后就能够手动运行它。/etc/rc.local在出口语句末尾之前将以下内容添加到了我的文件中:

sh '/home/root/test.sh'

我已验证此rc.local文件#!/bin/sh -e位于顶部。我也做了:

$ chown root /etc/rc.local
$ chmod 777 /etc/rc.local

完成所有操作后,我通过键入以下命令验证了它应该可以正常工作:

$ /etc/init.d/rc.local start

到现在为止,一切都按预期进行,echo当我执行最后一步时,我正在查看语句。但是,当我尝试重新启动电路板时,echo在打印的初始化资料中根本看不到这些语句。

我想念什么?也许它实际上是在启动时运行的,但是由于某种原因我看不到输出?

你好

如果您已完成所有操作(例如chmod +x /etc/rc.local您的命令正在运行),则不会在您可以看到的任何地方记录日志。

例子

这是我的/etc/rc.local

$ cat /etc/rc.local
#!/bin/bash
touch /var/lock/subsys/local
echo "hickory stick"

在这里,我使用了修改后的Bash,它记录到syslog中,我在另一篇U&L问答中讨论了该问题:将bash历史记录发送到syslog

当我的系统启动时,我看到通过Bash记录以下消息:

/var/log/bash-log/127.0.0.1.log:2018-07-24T22:04:24.609094-04:00 centos7 rc.local:山核桃木棍

但是没有别的地方。要将其记录到syslog / rsyslog中,通常可以使用以下logger命令:

$ logger hi

然后,您可以在/var/log/messages/var/log/syslog或中看到它journal -xef在这里,我使用日志记录:

$ journalctl -xef
Jul 24 20:23:04 centos7 bash[1629]: HISTORY: PID=1629 UID=0 USER=root CMD=man logger
Jul 24 20:23:24 centos7 bash[1629]: HISTORY: PID=1629 UID=0 USER=root CMD=logger hi
Jul 24 20:23:24 centos7 vagrant[1811]: hi

您应该能够用来logger捕获脚本中命令的输出,如下所示:

$ cat /etc/rc.local
#!/bin/bash
touch /var/lock/subsys/local
echo "hickory stick" | logger

现在,当我们重新启动时:

$ journalctl -xef
...
Jul 24 20:31:41 centos7 bash[1629]: HISTORY: PID=1629 UID=0 USER=root CMD=journalctl -xe
Jul 24 22:24:00 centos7 logger[1286]: hickory stick
Jul 24 22:24:00 centos7 sshd[1270]: Server listening on 0.0.0.0 port 22.
Jul 24 22:24:00 centos7 sshd[1270]: Server listening on :: port 22.
Jul 24 22:24:00 centos7 systemd[1]: Starting Permit User Sessions...

我们通过logger添加到中看到了我们的消息/etc/rc.local

额外的信息

logger是一个非常有用的工具,您可以将其记录到文件中而不是通过-f开关,也可以使用开关控制显示在日志中的标签-t

$ logger -t "smurfs" hi
$ journalctl -xe | grep smurfs
Jul 24 20:38:24 centos7 smurfs[1764]: hi

参考

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在启动时运行bash脚本

来自分类Dev

Linux如何在启动时运行python脚本

来自分类Dev

如何在 Ubuntu 在 tty 上启动时运行 bash 脚本

来自分类Dev

如何删除在启动时运行的 bash 脚本?

来自分类Dev

在启动时运行bash脚本?

来自分类Dev

如何在启动时运行脚本?

来自分类Dev

如何在Debian Wheezy中使脚本在启动时运行?

来自分类Dev

如何在启动时运行油门停止脚本?

来自分类Dev

如何在Linux vm的首次启动时运行shell脚本

来自分类Dev

如何在Ubuntu Server 17.10上启动时运行脚本?

来自分类Dev

如何添加服务以在slackware linux上启动时运行?

来自分类Dev

如何在 KDE Manjaro 上启动时运行命令

来自分类Dev

如何在 Windows 上启动时运行 .py 文件?

来自分类Dev

如何在启动时运行cgminer?

来自分类Dev

如何在启动时运行命令?

来自分类Dev

当一切启动并运行时,如何在启动时运行脚本?

来自分类Dev

在Linux Mint中启动时运行bash脚本并自动打开mate-terminal

来自分类Dev

如何在Windows启动时运行脚本(例如AutoHotKey或Java脚本)?

来自分类Dev

Ubuntu在tty上启动时如何运行bash脚本

来自分类Dev

在启动时运行Python脚本(Raspberry Pi上的Arch Linux ARM)

来自分类Dev

在启动时运行Python脚本(Raspberry Pi上的Arch Linux ARM)

来自分类Dev

如何在启动时运行脚本,然后每 30 分钟运行一次

来自分类Dev

Git-Bash停止脚本在启动时运行

来自分类Dev

Debian Linux-在启动时运行脚本/应用

来自分类Dev

在Windows 10上启动时运行脚本

来自分类Dev

不在系统启动时运行命令后如何在linux中启动服务?

来自分类Dev

如何在启动时运行终端代码,并在启动时运行VPN?

来自分类Dev

如何在应用程序启动时运行SQL脚本并获取数据?

来自分类Dev

如何在启动时运行脚本来解决屏幕方向问题?

Related 相关文章

  1. 1

    如何在启动时运行bash脚本

  2. 2

    Linux如何在启动时运行python脚本

  3. 3

    如何在 Ubuntu 在 tty 上启动时运行 bash 脚本

  4. 4

    如何删除在启动时运行的 bash 脚本?

  5. 5

    在启动时运行bash脚本?

  6. 6

    如何在启动时运行脚本?

  7. 7

    如何在Debian Wheezy中使脚本在启动时运行?

  8. 8

    如何在启动时运行油门停止脚本?

  9. 9

    如何在Linux vm的首次启动时运行shell脚本

  10. 10

    如何在Ubuntu Server 17.10上启动时运行脚本?

  11. 11

    如何添加服务以在slackware linux上启动时运行?

  12. 12

    如何在 KDE Manjaro 上启动时运行命令

  13. 13

    如何在 Windows 上启动时运行 .py 文件?

  14. 14

    如何在启动时运行cgminer?

  15. 15

    如何在启动时运行命令?

  16. 16

    当一切启动并运行时,如何在启动时运行脚本?

  17. 17

    在Linux Mint中启动时运行bash脚本并自动打开mate-terminal

  18. 18

    如何在Windows启动时运行脚本(例如AutoHotKey或Java脚本)?

  19. 19

    Ubuntu在tty上启动时如何运行bash脚本

  20. 20

    在启动时运行Python脚本(Raspberry Pi上的Arch Linux ARM)

  21. 21

    在启动时运行Python脚本(Raspberry Pi上的Arch Linux ARM)

  22. 22

    如何在启动时运行脚本,然后每 30 分钟运行一次

  23. 23

    Git-Bash停止脚本在启动时运行

  24. 24

    Debian Linux-在启动时运行脚本/应用

  25. 25

    在Windows 10上启动时运行脚本

  26. 26

    不在系统启动时运行命令后如何在linux中启动服务?

  27. 27

    如何在启动时运行终端代码,并在启动时运行VPN?

  28. 28

    如何在应用程序启动时运行SQL脚本并获取数据?

  29. 29

    如何在启动时运行脚本来解决屏幕方向问题?

热门标签

归档