bash_logout 仅在上次注销时运行命令

Chr*_*oth 5 bash shell-script logout

此命令位于我的 .bash_logout 脚本中,用于在运行某些处理后注销时删除临时目录:

/bin/rm -rf /tmp/tmpdir/
Run Code Online (Sandbox Code Playgroud)

但是,我通常与一台机器有多个连接,并且我希望仅当它是最后一个注销连接时才执行此操作。是否可以检查这个并放入 if 语句?

Chr*_*oth 4

我将发布我的想法,如果有人有任何意见或建议,请告诉我。

i=$(who | grep -c "username")

if [ $i -eq "1" ]
then
/bin/rm -rf /tmp/tmpdir/
fi
Run Code Online (Sandbox Code Playgroud)

  • 不错,但我鼓励您养成引用所有 shell 变量引用(例如“$i”)的习惯,除非您有充分的理由不这样做。相反,您实际上并不需要引用简单的单字字符串(例如“1”和您的用户名),但是,当然,它(通常)不会造成伤害,并且对于以下字符串来说当然是必需的:包含空格或其他特殊字符。 (2认同)