我还不是一个好的 bash 脚本编写者。
在下面的示例脚本中,我试图通过步骤,检查自步骤开始以来经过的时间量,并使用正确的单数或复数结尾来描述已经过去的时间量。
如果经过的时间四舍五入到 1 秒,我希望脚本告诉我完成该步骤需要 1“秒”,如果是 1 秒以外的其他时间,我希望它告诉我它花了x“秒”
#!\bin\bash
STEP=0
STEPS=4
RUN=1
while [ $RUN -eq 1 ]
do
if (( RUNTIME == 1 ))
then
SEC="second"
else
SEC="seconds"
fi
STEP=$(( STEP + 1 ))
printf "\\nStep $STEP/$STEPS\\n"
printf "Hi!\\n"
TIME=$SECONDS
RUNTIME=$(( TIME - START_TIME ))
printf "That took $RUNTIME $SEC\\n\\n"
STEP=$(( STEP + 1 ))
printf "Step $STEP/$STEPS\\n"
printf "Hi!\\n"
sleep 1s
TIME1=$SECONDS
RUNTIME=$(( TIME1 - TIME ))
printf "That took $RUNTIME $SEC\\n\\n"
STEP=$(( STEP + 1 ))
printf "Step $STEP/$STEPS\\n"
printf "Hi!\\n"
sleep 2s
TIME2=$SECONDS
RUNTIME=$(( TIME2 - TIME1 ))
printf "That took $RUNTIME $SEC\\n\\n"
STEP=$(( STEP + 1 ))
printf "Step $STEP/$STEPS\\n"
printf "Hi!\\n"
sleep 3s
TIME3=$SECONDS
RUNTIME=$(( TIME3 - TIME2 ))
printf "That took $RUNTIME $SEC\\n\\n"
END_TIME=$SECONDS
RUNTIME=$(( END_TIME - START_TIME ))
printf "The script took $RUNTIME $SEC to complete.\\n\\n"
RUN=0
done