このコマンドを使用してscript
端末のすべての出力をtypescript
。script foo
foo
それでは、コマンドを順番に入力していますが、TypeScriptを使用していることを忘れてしまったとしましょう。
TypeScriptにいるかどうかはどうすればわかりますか?
ベストアンサー1
たぶん、次のようにすることができます:
if lsof -tac script "$(tty)" > /dev/null; then
echo "I'm running under script"
else
echo "I'm not"
fi
次のものを追加できます。
lsof -tac script "$(tty)" > /dev/null && PS1="[script] $PS1"
~/.zshrc
またはに~/.bashrc
追加すると、あなたかどうかに関する情報script
がシェルプロンプトに表示されます。
または、インストールを保証できない場合は、lsof
次のことを行うことができます(未修正IFS仮定)。
terminal=$(ps -o comm= -p $(ps -o ppid= -p $(ps -o sid= -p "$$")))
[ "$terminal" = script ] && PS1="[script] $PS1"
経験的な方法は、セッションリーダーの親コマンド名、通常はターミナルエミュレータ(、、、xterm
... )を取得することです。script
screen