是否可以这样做:
case $ans1_1 in
y)fedoraDeps;;
echo "something here";;
make -j 32;;
n)echo "Continuing"...;;
;;
*) echo "Answer 'y' or 'n'";;
esac
其中fedoraDeps
是具有yum
命令的函数。
我试图用案例复制这个:
if [[ $ans1_1 = y ]]; then
fedoraDeps
echo "something here"
make -j 32
elif [[ $ans1_1 = n ]]; then
echo "Continuing..."
:
else
echo "Answer 'y' or 'n'"
fi
答案 0 :(得分:10)
;
或换行符用于结束命令。 ;;
用于结束案例分支。只是不要在每个命令后尝试结束case分支,这很好:
case $ans1_1 in
y)
fedoraDeps
echo "something here"
make -j 32 ;;
n)
echo "Continuing"... ;;
*)
echo "Answer 'y' or 'n'" ;;
esac
答案 1 :(得分:3)
由于shell行为的变化,我建议在分号前使用空格... 单'''允许你想要的东西。双倍';' '结束'案件'匹配',即
这应该有效:
case $ans1_1
in
y) fedoraDeps ;
echo "something here" ;
make -j 32 ;; ## last command for case 'match'
n) echo "Continuing"... ;;
## if you want a blank line then just use one
*) echo "Answer 'y' or 'n'" ;;
esac