TMOUT変数とさまざまな提案を調べた後、/etc/bashrcファイルに次のように設定しました。
TMOUT=600
readonly TMOUT
export TMOUT
ユーザーがログインすると、TMOUTは600に設定され、読み取り専用に設定されてエクスポートされますが、次のエラーが発生します。
-bash: TMOUT: readonly variable
-bash: TMOUT: readonly variable
どんな提案がありますか?
ベストアンサー1
/etc/bashrc
一度以上持ってくると思います。
echo "TMOUT=<$TMOUT>: ${BASH_SOURCE[*]}"
作業前に1行。
AFAIR はデフォルトでは提供されていませんが、/etc/bashrc
明示的に提供され、~/.bashrc
RHEL と同様のディストリビューションでのみ提供されます。
ただし、変数をエクスポートして読み取り専用にすることは、期待どおりに機能しません。
(readonly FOO=33; export FOO; bash -c 'FOO=47')
# no error
環境変数はシェルの「読み取り専用」属性を認識しません。これは現在のセッション/スクリプト内でのみ機能します。
これは、ユーザーがTMOUT
単に別のシェルを実行してシェルをバイパスできることを意味しますenv -u TMOUT bash --norc
。読み取り専用に設定すると問題のみが発生します。