如何在一个程序中使用2个循环?

时间:2015-12-10 17:31:23

标签: shell

以下是代码:

#!/bin/bash

while : 
do
now=$(date +" %m-%d-%Y Time: %T")
echo "Current Date : $now"
sleep 1

done

while :
do
echo "To cancel press [CTRL+C]"
sleep 28
done

最后一个循环没有输出任何东西。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

我认为你真的想要:

echo 'To cancel, press [CTRL+C]'
while sleep 1; do 
    printf 'Current Date : '
    date +' %m-%d-%Y Time: %T' | tr \\n \\r
done

或者,您可以执行以下操作:

#!/bin/sh

i=0
while : $((i+=1)); do
  test $((i % 28)) = 1 &&
    echo "To cancel press [CTRL+C]"
  printf "Current Date : "
  date +" %m-%d-%Y Time: %T"
  sleep 1
done