Wir haben hier eine schreibgeschützte Bash-Variable. Ich darf diese Variable nicht deaktivieren.
$ echo $TMOUT
1800
Um dieses Problem zu umgehen, habe ich diese Zeilen geschrieben (damit meine Sitzung nicht beendet wird).
#!/usr/bin/perl
$|++;
while (1) { print "\e[0n"; sleep 120; }
Gibt es ein offizielles Paket (U / min), das ähnliche Funktionen (wie oben im Perl-Code) in einem CentOS7 / RHEL7-Repository ausführt? Ich möchte keinen Vim-Editor öffnen, ich wünsche einen Befehl.
bash
rpm
repository
timeout
Ivanov
quelle
quelle
cat
wenn Sie sich von Ihrer Sitzung entfernen. Und dann ^ C es bei Ihrer Rückkehr.exec env TMOUT=0 bash
Antworten:
Sie können Perl-Befehle über die Befehlszeile ausgeben ...
perl -e '$|++; while (1) { print "\e[0n"; sleep 120; }'
oder Sie könnten dasselbe in der Shell tun (ein
sh
/bash
Beispiel):while sleep 120; do printf '\33[0n'; done
Oder Sie könnten verwenden
watch
:watch -n 120 printf '\33[0n'
quelle
printf '\33[0n'
? Ich weiß, was die Kommandozeileprintf
ist. aber was wird gedruckt?\33
Die Abkürzung für den Escape-Schlüssel<esc>[0n
ist kein bekannter ANSI-Escape-Code. Ich stelle mir vor, es war ein Tippfehler,<esc>[0m
der die Terminalfarbe für Apps / Terminals / Tty's zurücksetzen sollte , die ANSI-Escape-Codes unterstützen.Fügen Sie dies zum Anfang Ihres .bash_profile hinzu?
Hüten Sie sich vor dem Zorn der Sysadmins, wenn Sie eine Unmenge alter Sitzungen laufen lassen, weil Sie ihre Timeout-Regeln besiegt haben.
quelle
Hier ist die Sache:
Wenn die Sitzungsvariable "Schreibgeschützt" ist , müssen Sie den aktuellen Shell-Prozess durch den Befehl durch "exec" ersetzen.
Die Antwort auf Ihre Frage lautet also:
Ich empfehle jedoch, einen höheren Timeout-Wert festzulegen
quelle
Warum wechseln Sie nicht zu einer nicht interaktiven Sitzung?
quelle
In meinem Fall ist es in /etc/profile.d/bash_autologout.sh definiert:
Um es zu finden, habe ich:
quelle