我写了一个非常简单的案例陈述,但失败了。我仔细检查了语法,但找不到哪里出了问题。有人可以告诉我吗?
#!/bin/bash
opt_type=0
function opt_type
{
echo "Opt Porvisioning tool starting..."
echo -e "1. ABC \n2. DEF \n3. HIJ \n"
read opt_input
case $opt_input in
1|abc|ABC)
opt_type=1;
2|def|DEF)
opt_type=2;
3|hij|HIJ)
opt_type=3;
4|exit|Exit) echo "Exiting ..."
*) echo "Please enter a valid entry. Exiting!!"
esac
}
echo $opt_type
./opt_type.sh: line 16: syntax error near unexpected token `)'
./opt_type.sh: line 16: ` 2|def|DEF)
-bash-3.2$
我没有看到任何这样的符号 (`) 那为什么它会提示呢?
最佳答案
你应该加双分号:
case $opt_input in
1|abc|ABC)
opt_type=1;;
2|def|DEF)
opt_type=2;;
3|hij|HIJ)
opt_type=3;;
4|exit|Exit)
echo "Exiting ...";;
*)
echo "Please enter a valid entry. Exiting!!";;
esac
关于linux - shell 脚本中的简单 case 语句失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15030937/