bash选择执行的功能?

sh/bash/dash/ksh/zsh等Shell脚本
回复
haime
帖子: 263
注册时间: 2009-12-31 20:21
系统: Ubuntu、Windows 10
送出感谢: 4 次
接收感谢: 0

bash选择执行的功能?

#1

帖子 haime » 2013-02-01 21:07

我一开始是这样写的,
第二个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
我到底该怎么写????
上次由 haime 在 2013-02-01 21:55,总共编辑 3 次。
头像
枫叶饭团
论坛版主
帖子: 14685
注册时间: 2010-06-16 1:05
系统: Mac OS X
来自: Tencent
送出感谢: 1 次
接收感谢: 132 次
联系:

Re: bash选择执行的功能?

#2

帖子 枫叶饭团 » 2013-02-01 21:16

那个。。。shell的else if是elif。。。你这是js写多了吧 :em04
haime
帖子: 263
注册时间: 2009-12-31 20:21
系统: Ubuntu、Windows 10
送出感谢: 4 次
接收感谢: 0

Re: bash选择执行的功能?

#3

帖子 haime » 2013-02-01 21:27

枫叶饭团 写了:那个。。。shell的else if是elif。。。你这是js写多了吧 :em04
wiki里买呢写的是else if
我在wiki里面看的,不信,你自己去看:http://wiki.ubuntu.org.cn/Shell%E7%BC%9 ... _.E5.8F.A5
头像
枫叶饭团
论坛版主
帖子: 14685
注册时间: 2010-06-16 1:05
系统: Mac OS X
来自: Tencent
送出感谢: 1 次
接收感谢: 132 次
联系:

Re: bash选择执行的功能?

#4

帖子 枫叶饭团 » 2013-02-01 21:34

wiki写错了嘛。。。正常 :em04
haime
帖子: 263
注册时间: 2009-12-31 20:21
系统: Ubuntu、Windows 10
送出感谢: 4 次
接收感谢: 0

Re: bash选择执行的功能?

#5

帖子 haime » 2013-02-01 21:41

枫叶饭团 写了:wiki写错了嘛。。。正常 :em04
我试了下,wiki错了正确的是elif。
还有我问你个问题,我那个用case判断的哪里错了?第二个判断会报错。
难道在这个任务里面不能用case?
头像
YeLee
论坛版主
帖子: 26408
注册时间: 2008-08-13 8:48
系统: Fundu i64
来自: 东海硇州,一双管钥。
送出感谢: 25 次
接收感谢: 307 次
联系:

Re: bash选择执行的功能?

#6

帖子 YeLee » 2013-02-02 8:56

[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]
你猜猜,多了哪里,少了什么?
◎当我站在道德的高度上俯视别人的时候,发现自己是多么渺小。
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
回复

回到 “Shell脚本”