在启动时执行交互式脚本并显示到默认的 tty 附加监视器屏幕

Execute Interactive Script on boot and display to default tty attached monitor screen

我已将我的 Centos 6 配置为在每次启动时自动登录。

我修改了 /etc/init/tty.conf 来实现这个,效果很好。

/etc/init/tty.conf

的内容
stop on runlevel [S016]

respawn
instance $TTY
#exec /sbin/mingetty $TTY
exec /sbin/mingetty --autologin root $TTY
usage 'tty TTY=/dev/ttyX  - where X is console id'

然后我将我的 ~/.bash_profile 配置为 运行 一个脚本。内容见下方

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH


echo "This is one time" >/tmp/one.txt

正如您在上面看到的,我已将文本回显到文件 /tmp/one.txt, 文件中的预期文本应该只出现一次。但是由于某些原因,这个脚本被执行了 3 次。

如果我tail -f /tmp/one.txt下面出现在/tmp/one.txt中。它显示脚本执行了 3 次。

tail -f /netboot/tmp/one.txt
This is one time
tail: /netboot/tmp/one.txt: file truncated
This is one time
tail: /netboot/tmp/one.txt: file truncated
This is one time
tail: /netboot/tmp/one.txt: file truncated
This is one time

我能做些什么来防止它多次执行,我只希望它运行一次就这样。

感谢阅读本文post

我不得不从 /etc/init/tty.conf 文件中删除重生实例 $TTY。

在修复 /etc/init/tty.conf 之前看起来像这样。

stop on runlevel [S016]

respawn
instance $TTY
#exec /sbin/mingetty $TTY
exec /sbin/mingetty --autologin root $TTY
usage 'tty TTY=/dev/ttyX  - where X is console id'

解决问题后。 /etc/init/tty.conf 看起来像这样。

stop on runlevel [S016]


exec /sbin/mingetty --autologin root $TTY
usage 'tty TTY=/dev/ttyX  - where X is console id'

这已经解决了我上面解释的问题。