これだから答えは実行するコマンドの環境にscript
変数が追加されたことを示します。SCRIPT
試してみましたが、今はうまくいかないようです。
私が試したことは次のとおりです。
ma08@IWeighHar:~/pro$ script foo.log
Script started, output log file is 'foo.log'.
ma08@IWeighHar:~/pro$ echo $SCRIPT
ma08@IWeighHar:~/pro$ exit
exit
Script done.
ma08@IWeighHar:~/pro$ echo $SCRIPT
ma07@IWeighHar:~/pro$
script
現在の端末セッションでコマンドが実行されたかどうかを検出する方法は?
このコマンドの名前のため、インターネット検索は悪夢です。
ベストアンサー1
script
経験的に、端末デバイスにその名前の開いているプロセスがあることを確認できます。
if lsof -watc script "$(tty)" > /dev/null 2>&1; then
echo I may very well be within a script session
fi
tty
標準入力で開いた端末のパスを返します。一部のシェルは、$TTY
制御端末のパスに変数を設定します。$(ps -o tty= -p "$$")
プレフィックスのない制御端末の取得も参照してください/dev/
。