分页: 1 / 1

bash选择执行的功能?

发表于 : 2013-02-01 21:07
haime
我一开始是这样写的,
第二个case报错。

代码: 全选

知道那里错了,case语法错了,受到了其他编程语言switch  case的影响,看着shell语法写都写错了……

代码: 全选

#!/bin/bash
echo "你想干嘛?"
pwd="××××××"
select var in "启动Apache" "重启Apache" "停止Apache";do
	break;
done
case "$var" in
"启动"*)
echo $pwd | sudo -S /opt/lampp/lampp start;;
"$var" in
"重启"*)
echo $pwd | sudo -S /opt/lampp/lampp restart;;

"$var" in
"停止"*)
echo $pwd | sudo -S /opt/lampp/lampp stop;;
esac
第二次我用if,最后一行加1你那行包错:语法错误: 未预期的文件结尾。

代码: 全选

我是看得wiki写的,wiki的else if错了,正确的是elif。

代码: 全选

#!/bin/bash
echo "你想干嘛?"
pwd="××××××"
select var in "启动Apache" "重启Apache" "停止Apache";do
	break;
done
if [ "$var" = "启动Apache" ]; then
	echo $pwd | sudo -S /opt/lampp/lampp start;
else if [ "$var" = "重启Apache" ]; then
	echo $pwd | sudo -S /opt/lampp/lampp restart;
else if [ "$var" = "停止Apache" ]; then
	echo $pwd | sudo -S /opt/lampp/lampp stop;
fi
我到底该怎么写????

Re: bash选择执行的功能?

发表于 : 2013-02-01 21:16
枫叶饭团
那个。。。shell的else if是elif。。。你这是js写多了吧 :em04

Re: bash选择执行的功能?

发表于 : 2013-02-01 21:27
haime
枫叶饭团 写了:那个。。。shell的else if是elif。。。你这是js写多了吧 :em04
wiki里买呢写的是else if
我在wiki里面看的,不信,你自己去看:http://wiki.ubuntu.org.cn/Shell%E7%BC%9 ... _.E5.8F.A5

Re: bash选择执行的功能?

发表于 : 2013-02-01 21:34
枫叶饭团
wiki写错了嘛。。。正常 :em04

Re: bash选择执行的功能?

发表于 : 2013-02-01 21:41
haime
枫叶饭团 写了:wiki写错了嘛。。。正常 :em04
我试了下,wiki错了正确的是elif。
还有我问你个问题,我那个用case判断的哪里错了?第二个判断会报错。
难道在这个任务里面不能用case?

Re: bash选择执行的功能?

发表于 : 2013-02-02 8:56
YeLee
[bash]
#!/bin/bash
echo "你想干嘛?"
select var in "启动Apache" "重启Apache" "停止Apache";do
break;
done

case "$var" in
"启动Apache"*)
echo "正在$var" ;;

"重启Apache"*)
echo "正在$var" ;;

"停止Apache"*)
echo "正在$var" ;;
esac
[/bash]
你猜猜,多了哪里,少了什么?