![スクリプトの終了時間をどのように使用し、同じスクリプトを再実行するときに開始時間として使用できますか? [閉鎖]](https://linux33.com/image/186026/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E3%81%AE%E7%B5%82%E4%BA%86%E6%99%82%E9%96%93%E3%82%92%E3%81%A9%E3%81%AE%E3%82%88%E3%81%86%E3%81%AB%E4%BD%BF%E7%94%A8%E3%81%97%E3%80%81%E5%90%8C%E3%81%98%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E3%82%92%E5%86%8D%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8B%E3%81%A8%E3%81%8D%E3%81%AB%E9%96%8B%E5%A7%8B%E6%99%82%E9%96%93%E3%81%A8%E3%81%97%E3%81%A6%E4%BD%BF%E7%94%A8%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%81%8B%EF%BC%9F%20%5B%E9%96%89%E9%8E%96%5D.png)
2回目以降の実行の開始時刻として、停止時間をどのように指定しますか?
$start = currenttime;
while true;
./run_test.sh -input_param=$start
stop=$(date +%Y%m%d%H%M%S --date "2018-03-12 01:45:55");
sleep 10;
done
答え1
日付をメモリに保存できます。一時ファイルシステムファイルシステムが似ている(/dev/shm/lastexec.tmp)または、このようにディスクに行く(/tmp/lastexec.tmp)。
メモリの保存は揮発性なので、日付をディスクの一時ファイルに保存することをお勧めします。
start="$(cat /tmp/lastexec.tmp)"
while true
do
./run_test.sh -input_param=$start
date +%Y%m%d%H%M%S --date "2018-03-12 01:45:55" > /tmp/lastexec.tmp
sleep 10
done
ただし、使用するとdate +%Y%m%d%H%M%S --date "2018-03-12 01:45:55"
日付が変更されたため、次のスクリプトの実行中に日付は変更されません。出力はまだ同じです20180312014555