Bash

只讀 TMOUT 變數 – 在沒有活動時禁用自動退出 shell 的解決方法

  • March 21, 2021

我們這裡有一個只讀的 Bash 變數。我不允許取消設置該變數。

$ echo $TMOUT
1800

作為一種解決方法,我寫了這些行(我的會話不會退出)

#!/usr/bin/perl

$|++;
while (1) { print "\e[0n"; sleep 120; }

在 CentOS7/RHEL7 儲存庫中是否有類似的官方軟體包(rpm)(如上面的 Perl 程式碼)?我不喜歡打開vim編輯器,希望有個命令。

將此添加到 .bash_profile 的開頭?

if [ ! -z "$TMOUT" ]; then
 env -i bash --init-file ~/.bash_profile
fi

如果您因違反超時規則而使大量舊會話繼續執行,請當心系統管理員的憤怒。

事情是這樣的,

當會話變數為**“只讀”時,您必須用****“exec”**的命令替換目前的 shell 程序

所以,您的問題的答案是:

$> exec env TMOUT=0 bash

但我建議設置更高的超時值

$> exec env TMOUT=3600 bash

引用自:https://unix.stackexchange.com/questions/222283