プログラムが終了した直後にプログラムの実行時間を求める必要がありますが、このような気がしました。
start=`date +"%M"`
while [ `pgrep vlc` ];do
echo vlcopen > /dev/null
done
stop=`date +"%M"`
[ $stop -lt $start ]&&time=$[ 60-$start+$stop ]||time=$[ $stop-$start ]
echo $time > time.txt
作業は完了しますが、非常に非効率的で、多くのカップの使用が必要です。これをより効率的に実行するには?
答え1
1つのオプションは、次を使用することです。time
注: Bash にはキーワードがあるため、time
そうする場合:
time some command
それが使われました。、 SHELL_GRAMMAR: バッシュ
time
普通の男性からよく見られるのがtime
まさにこれだ。/usr/bin/time
$ type -t time
keyword
使用の主なポイントバッシュではない-v
時間は(GNU)のような関数ですtime
。
答え2
SECONDS=0
# do stuff here, such as
sleep 5
duration=$SECONDS
echo "The stuff took $duration seconds to complete"
外部プロセスを作成する必要性を排除し、効率を向上させます。