읽기 전용 TMOUT 변수 – 활동이 없을 때 쉘 자동 종료를 사용하지 않는 해결 방법 줄을 작성했습니다 (세션이

여기에는 읽기 전용 Bash 변수가 있습니다. 해당 변수를 설정 해제 할 수 없습니다.

$ echo $TMOUT
1800

해결 방법으로 해당 줄을 작성했습니다 (세션이 종료되지 않음).

#!/usr/bin/perl

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

CentOS7 / RHEL7 저장소에 유사한 Perl 코드와 같은 공식 패키지 (rpm)가 있습니까? vim 편집기를 열고 싶지 않습니다. 명령을 원합니다.



답변

명령 행에서 perl 명령을 실행할 수 있습니다 …

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

또는 쉘에서 동일한 작업을 수행 할 수 있습니다 ( 예 sh/ bash예).

while sleep 120; do printf '\33[0n'; done

또는 다음을 사용할 수 있습니다 watch.

watch -n 120 printf '\33[0n'


답변

이것을 .bash_profile의 시작 부분에 추가 하시겠습니까?

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

타임 아웃 판결에서 패배 한 결과로 오래된 오래된 세션을 남겨두면 시스템 관리자의 분노를 조심하십시오.


답변

여기에 일이있다
세션 변수가 “읽기 전용” 당신이에 의해 명령으로 현재 쉘 프로세스를 교체해야 “간부”
그래서, 질문에 대한 대답은이 :

$> exec env TMOUT=0 bash

그러나 더 높은 시간 초과 값을 설정하는 것이 좋습니다

$> exec env TMOUT=3600 bash

답변

왜 비 대화식 세션으로 전환하지 않습니까?

# TMOUT=0
-bash: TMOUT: readonly variable
# unset TMOUT
-bash: unset: TMOUT: cannot unset: readonly variable
# su
# export TMOUT=10
# unset TMOUT
# 

답변

필자의 경우 /etc/profile.d/bash_autologout.sh에 정의되어 있습니다.

TMOUT=1800
readonly TMOUT
export TMOUT

그것을 찾기 위해, 나는했다 :

sudo find /etc/ -name "*" | xargs sudo grep "TMOUT" 2>&1 | grep -v "filter..."