计数程序在算术测试中失败

计数程序在算术测试中失败

这个相当基本的脚本有点问题。该脚本适用于我的 macbook pro 中的 Bash,但不适用于我的 Linux Mint 桌面,该桌面也使用 bash。

我不明白它出了什么问题。

我仍然收到 bash 的错误消息:

line 6: [: -lt: unary operator expected
line 16: [: -gt: unary operator expected

使用此更新的代码:

#!/bin/bash
clear
counter=0

function countup {
while [ $counter -lt 500 ]
do
  ((counter++))
  echo $counter
  sleep 0.2
done
countdown
}

function countdown {
while [ $counter -gt 0 ]
do
  ((counter--))
  echo $counter
  sleep 0.2
done
countup
}

countup

答案1

尝试这个:

#!/bin/bash
clear
counter=0

function countup {
    while [[ $counter -lt 500 ]]; do
        ((counter++))
        echo $counter
        sleep 0.2
    done

    countdown
}

function countdown {
    while [[ $counter -gt 0 ]]; do
        ((counter--))
        echo $counter
        sleep 0.2
    done

    countup
}

countup

[[ ]]对于未赋值的变量更加稳健。但是,这个脚本确实运行了。看起来你在这里输入的内容与你的机器上输入的内容不同。这看起来也像是会永远向上和向下计数,但这似乎是故意的。

相关内容