我刚刚在 Hacker News 上找到了以下 FizzBuzz 示例,它使用了一段我发现很难搜索的语法
for num in {1..100} ; do
out=""
(( $num % 3 == 0 )) && out="Fizz"
(( $num % 5 == 0 )) && out="${out}Buzz"
echo ${out:-$num}
done
我不明白的一点是变量使用是如何echo
在行中工作的。虽然我可以清楚地看到它变成$out
if not empty, else$num