+ -
当前位置:首页 → 问答吧 → shell下听写单词脚本(改进版)

shell下听写单词脚本(改进版)

时间:2011-05-11

来源:互联网

是想实现下面的功能:
让用户做一个选择,比如让用户选择向东走还是向西走,然后根据用户的选择给一个变量赋值;
再让用户做一个选择,比如让用户选择向南还是向北,然后根据用户的选择给另一个变量赋值;
最后把这两个变量的值相加。
下面是我写的一个简单的脚本,只是测试这个功能用,可是最终的结果却是sum永远是0。
而且echo "the value of var2 is $var2" 这断代码的输出是 the value of var2 is
可是我明明给var2赋值了呀。请教大家了,谢谢!下面是我的代码:
代码:
#!/bin/bash
echo "请选择1;2;3中的一个"
read var1
case $var1 in
1 ) var2=4 echo "the value of var2 is $var2"  ;;
2 ) var2=10 echo "the value of var2 is $var2"  ;;
3 ) var2=200 echo "the value of var2 is $var2" ;;
esac
echo "请选择1,2"
read var3
case $var3 in
1 ) var4=1 echo "var4 is $var4" ;;
2 ) var4=2 echo "var4 is $var4" ;;
esac
sum=$((var2+var4))
echo "var2和var4的和是$sum"

作者: nigo   发布时间: 2011-05-11

没有设定变量赋值吧?

不知道有没有用... 写道:
value=没有设定变量赋值吧?
echo $value

作者: Yume   发布时间: 2011-05-11

除了第一个和最后一个echo, 所有的echo前面应该有个分号,hehe

echo -> ; echo

作者: jonef   发布时间: 2011-05-11

代码:
case $var1 in
1 ) var2=4 echo "the value of var2 is $var2"  ;;

这里 var2=4已经赋值了呀,可是执行脚本的时候,就变成var2是空的了。不知道怎么回事

作者: nigo   发布时间: 2011-05-11

赋值语句与echo语句在同一行中间要分号。

作者: fnan   发布时间: 2011-05-11