fizzy.sh:
#!/usr/bin/env sh
div3() {
expr $1 % 3 = 0
}
div5() {
expr $1 % 5 = 0
}
fizzy() {
if [ $(div3 $1) ] && [ $(div5 $1) ]; then
expr "FizzBuzz"
elif [ $(div3 $1) ]; then
expr "Fizz"
elif [ $(div5 $1) ]; then
expr "Buzz"
else
expr "$1"
fi
}
echo $(fizzy 1)
echo $(fizzy 2)
echo $(fizzy 3)
实施例:
$ ./fizzy.sh
FizzBuzz
FizzBuzz
FizzBuzz
了'如果[0]; ...'测试没有做你认为的事情。你可以用'if [1]'或'if [cow]'或任何非空字符串得到相同的结果。这将演示你想要什么:'if $(exit 0);然后回显Y;否则回显N; fi'并再次测试1个intend为0 –