端末セッションの長さを見つける

端末セッションの長さを見つける

現在のターミナルセッションの長さを出力し、その長さでさまざまな異なるタスクを実行するために独自のbashスクリプトを作成しようとしています。

私が経験している問題はスクリプトにあります。

#!/bin/bash

SESSIONLENGTH=$(echo $SECONDS)
echo $SESSIONLENGTH

...bashシェルの別のインスタンスを作成します(または少なくとも私はそれが起こっていると思います)。ここでは、スクリプトを実行するシェルの値の代わりに独自の$SECONDS値が割り当てられます。$SESSIONLENGTH$SECONDS

私の質問は、現在のセッションの長さをスクリプトとしてどのように返すことができるかということです。

ベストアンサー1

あなたはできます

source /path/to/script

または

. /path/to/script

現在のセッションのスクリプトにあるコマンドを実行しますbash。注:この場合、現在のセッションは完了するので、スクリプトから呼び出さないでくださいexit(おそらくシェルが終了したときにターミナルエミュレータが閉じられることを確認する前に)。

一方、セッション時間だけを測定する場合は、次のようにすることもできます。

time bash

セッションを終了すると、そのセッションbashで費やされた時間が印刷されます。複数のシェル間に移植可能です(bashと同様にzshあります$SECONDS)。

おすすめ記事