(乌班图)Linux:是否可以确定您是否在§script§命令中运行?



~/.bashrc在登录时继续创建script会话时出现这种情况,除非CTRL+C退出,所以我认为特定命令必须有一个if来检查我们是否已经在运行script会话,这样它就不会无限期地创建新会话。

如果你要做类似的事情

exec script "session.$(date)"

在可以递归的情况下,首先设置一个环境变量,只有在没有设置时才继续:

[[ $- != *i* ]] && [[ -z $SCRIPT_RUNNING ]] && {
  export SCRIPT_RUNNING=1
  exec script "session.$(date)"
}

CCD_ 5测试在非交互shell上跳过该测试;CCD_ 6测试在先前由父进程设置时跳过它。

也就是说,如果你这样做是出于任何安全目的,那都是完全不合适的。从.bashrc启动script意味着记录用户操作的进程由该用户拥有和控制。。。利益冲突,太多了?这也意味着,一个由命令行参数启动的交互式shell会被一个没有命令行参数的shell所取代,这可能会破坏软件做有趣的事情。

相关内容

最新更新