我正在尝试使此代码正常工作。如果输入1,则会打开iTunes。如果你输入2,它会打开iPhoto,等等。我使用if / elif / else,我一直在反复检查方法。好像写得好。这是代码:
#!/bin/sh
echo Please choose one.
echo 1. Open iTunes.app
echo 2. Open iPhoto.app
echo 3. Open iMovie.app
read UserChoice
cd /Users/$USER/Applications
if [ “$UserChoice”=“1” ]; then
open iTunes.app
elif [ “$UserChoice”=“2” ]; then
open iPhoto.app
elif [ “$UserChoice”=“3” ]; then
open iMovie.app
else
echo “Please choose a number.”
fi
然而,每次运行此代码时,它只会侦听第一个“if”语句。因此,如果我输入2或3,它只会打开iTunes,运行第一个if语句。我没有正确使用elif,还是有另一种方法可以使这项工作?
答案 0 :(得分:2)
答案 1 :(得分:-2)
使用comparator ==而不是[“$ UserChoice”=“1”]将1分配给UserChoice并返回true =>声明永远是真的。
答案 2 :(得分:-2)
打开XX.app语句后输入分号。并确保您使用==检查(比较)而不是=(分配)