倒计时脚本不起作用

Han*_*nkG 5 bash scripts

我正在尝试创建一个脚本,该脚本将从我给它的任何数字倒计时到 0。下面是我的脚本,基本上什么也没发生,没有错误消息,我只是得到标准的命令行提示。

#!/bin/bash
#countdown
#counts down to 0 from whatever number you give it
#displaying a number each second

NUM=${1:-0}
if [ $NUM -gt 0 ]
then
   while [ $NUM -gt 0 ]
   do
      if [ -f /usr/bin/banner ]
      then
         /usr/bin/banner "$NUM"
      else
         echo $NUM
      fi
         NUM=$(($NUM-1))
         sleep 2
   done
fi
Run Code Online (Sandbox Code Playgroud)

kar*_*rel 3

#!/bin/bash\n\nprintf "Type an integer number: " && read NUM\nif [ $NUM -gt 0 ]\nthen\n   while [ $NUM -ge 0 ]\n   do\n      if [ -f /usr/bin/banner ]\n      then\n         /usr/bin/banner "$NUM"\n      else\n         echo $NUM\n      fi\n         NUM=$(($NUM-1))\n         sleep 2\n   done\nfi\n
Run Code Online (Sandbox Code Playgroud)\n\n

输出:

\n\n
:~$ ./countdown.sh \nType an integer number: 10\n10\n9\n8\n7\n6\n5\n4\n3\n2\n1\n0\n
Run Code Online (Sandbox Code Playgroud)\n\n

解释:
\n\xe2\xa0\x801。第3行提示用户输入一个整数并将其读入变量NUM。
\n\xe2\xa0\x802。-gt将第 6 行更改为-ge,使其倒数为零。
\n\xe2\xa0\x803。如果安装了 sysvbanner,则输出将以横幅格式显示;如果未安装,则以文本形式显示。

\n

  • 您可能想要添加*一些*解释,以及为什么OP的脚本不起作用。 (2认同)