为什么.bash_logout中的命令重启后无法运行?

为什么.bash_logout中的命令重启后无法运行?

操作系统:debian9。
创建日志文件。

touch $HOME/logout.log

在.bash_logout中添加命令。

vim .bash_logout
echo  $(date)  >>  $HOME/logout.log

现在使用帐户名登录test,然后创建/home/test/logout.log

我想写入日期信息/home/test/logout.log,为什么重启后没有日期信息?
重新启动后 /home/test/logout.log 中没有任何内容。

答案1

第一的

echo $(date) >> $HOME/logout.log

可以替换为

date >> $HOME/logout.log

下一个,

.bash_logout当您断开连接时运行,而不是在重新启动时运行。

  • A重启是当你重新启动主机时,有效地杀死(或多或少很好地)它的所有进程,数据库,网络服务器等。

  • A登出是当您(或任何用户)从交互式会话断开连接时,主机以及数据库等保持运行状态。

如果您希望在计划关闭期间执行脚本,请将 then 放入 中/etc/init.d,然后添加一个链接K01-trace-logout,其中/etc/rcX.dX 是您的运行级别( 的结果who -r)。

最后

请注意,意外关闭(断电、磁盘 I/O 冻结)不会在日志文件中留下任何痕迹。

答案2

您需要将 bash 作为登录 shell 运行。您需要以用户身份登录,当您从交互式登录 shell 注销时,将执行 .bash_logout 脚本。

相关内容