当前位置:  技术问答>linux和unix

请问如何读取“9 * 8”中的“*”字符?

    来源: 互联网  发布时间:2017-01-24

    本文导语:  写了一个计算器脚本,在计算乘法的时候始终报错。原因在于输入“9 * 8”字符时,无法用op=`echo $exp | cut -d ' ' -f 2`读取“*”,读取的结果是“aplusb”。但是做加减除(+ - /)运算则能够正确读取运算符。为...

写了一个计算器脚本,在计算乘法的时候始终报错。原因在于输入“9 * 8”字符时,无法用op=`echo $exp | cut -d ' ' -f 2`读取“*”,读取的结果是“aplusb”。但是做加减除(+ - /)运算则能够正确读取运算符。为何?求解。
#/bin/bash
#由用户输入计算表达式,程序给出计算结果

#1.提示用户该程序的功能
echo "由用户输入计算表达式,程序给出计算结果"
#2.用户输入操作数与操作符
read -p "开始新的计算吗?" yes
while [ "$yes" == "y" ]
do
read -p "请输入计算表达式(如8 + 9):" exp
num1=`echo $exp | cut -d ' ' -f 1`
num2=`echo $exp | cut -d ' ' -f 3`
op=`echo $exp | cut -d ' ' -f 2`
echo $op #结果为aplusb
#3.根据用户输入的操作符,做相应的计算
if [ "$op" == "+" ]; then
   sum=$(($num1+$num2)) && echo "$num1 $op $num2 = $sum"
elif [ "$op" == "-" ]; then
   sum=$(($num1-$num2)) && echo "$num1 $op $num2 = $sum" 
elif [ "$op" == "*" ]; then
   sum=$(($num1*$num2)) && echo "$num1 $op $num2 = $sum" 
elif [ "$op" == "/" ]; then
   sum=$(($num1/$num2)) && echo "$num1 $op $num2 = $sum" 
else
   echo "非法的操作符"
fi
read -p "开始新的计算吗?" yes
done

|

 num1=`echo "$exp" | cut -d ' ' -f 1`
 num2=`echo "$exp" | cut -d ' ' -f 3`
 op=`echo "$exp" | cut -d ' ' -f 2`

你的变量加上双引号就行了
否则读取的是*,运行了echo *,读取的就是脚本目录下的现有文件名了,所以获取不到你想要的*

    
 
 

您可能感兴趣的文章:

  • 请问一个字符串,怎样取从某一位置开始到最后一个字符的内容,谢谢!
  • 请问怎样从键盘读入一个字符串,怎样连接两个字符串,谢谢
  • 请问怎样判断一个字符是中文字符还是英文字符?(空)
  • 请问在linux下,怎样把unicode字符转化为gbk字符,急用,谢谢
  • 请问如何判断字符串中的字符在a~z之间
  • 帮帮忙!!!请问在javascript中判断字符串中包含某一特定字符
  • 请问怎么实现判断TextField里输入的是int型整数还是字符串,或者其他的字符??
  • 请问如何取得STRING类型的变量的某个特定字符?譬如'abcded'的第三个字符?
  • 请问:linux下C/C++编程,怎样把含有中英文及数字其他字符的字符串,转化成utf-8编码,又怎样将其转换回来。iconv好像不支持混合?
  • 请问从屏幕上输入字符时,能显示别人看不出的原字符,也就是怎么实现加密。这程序该怎么写,谢谢。
  • 急!!请问怎么在文本指定的位置输入字符串
  • 请问如何判断一个字符串是否为空呀?
  • 请问在shell如何实现字符串子串运算
  • 请问:界面不显示中文字符问题
  • 请问在kde里,怎样修改国别和字符集?
  • 请问JAVA中怎样去掉字符串后面的空格,谢谢!!!
  • 请问如何隐藏本地输入的字符(比如密码)
  • 请问如何从串口发送字符串"102a34"?
  • 请问如何将字符串型转换成长整型?
  • 我装的redhat9是在字符模式下安装的,现在没有图形界面,请问如何装载上去?
  • 请问在Java程序中能否直接读取ini文件,如何读取?
  • 请问readdir读取顺序是什么
  • 请问在Linux里,如何用JAVA读取内存里的PATH设置
  • 请问如何读取用dd命令生成的文件?
  • 请问 solaris支持不支持以下几种格式的读取啊
  • 请问如何在bean中读取session的值?
  • 请问linux中有没有可以读取BIOS信息的驱动程序!
  • 请问有什么软件可以在Win98或者2000下读取EXT3分区的软件?谢谢~!
  • 请问:dos下怎样读取光驱中内容呀,因为内容有20M,所以不能用软驱,
  • 请问LINUX下怎么用C语言对文件进行操作(包括新建、读取、删除、修改)
  • 请问下大家关于读取配置文件的问题
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请问:我知道路由器的telnet密码,但忘记了enable 密码,请问如何是好?
  • 请问那里有SYBASE的jbdb 2.0下载;jspsmartupload可以直接将文件上传到数据库,请问如何使用
  • 请问最新的reahat9.0是基于什么核心的?2.4?2.6?请问那里能下载?
  • 请问:请问哪里有关于linux基本操作命令讲解的资料下载,最好是幻灯片格式的.
  • 请问,我试图用#admintool&图形工具命令来安装sun workshop5.0,为什么进入的却是用户管理界面?请问具体该如何在solaris下安装应用软件
  • 请问在Redhat 9里,我从登录就是图形介面,请问如何在图形介面内进入命令行方式呢,谢谢
  • 请问玩过SOLARIS的高手门,在不正常关机后,就不能启动到windows公用桌面了,只能在命令提示模式下了,请问怎么解决这个问题啊?急~!~!
  • 请问:我在redhat下装了bochs-2.2.1-1.rpm,.装了后,想设置一下,但找不到bochsrc.fda.bxrc,请问这个文件在哪个曰录下啊。
  • 请问:在配置Qt时,很多文档都说在.profile,.login里加东西,但是我好像没有发现有这两个文件上,请问这些文件在哪个目录下啊
  • 请问:在GCC里的C程序里的变量的声明是不是只能在前面,而且相同类型的变量的声明只能放在一起?如果不是,请问怎么样可以解决这个问题.
  • 请问各位大虾,小弟今天开始学jsp了,这学期我们有java课,所以已经下载了jdk(好象是1.2),请问我的98环境怎么配置jsp环境呀?我的jdk可以运行.java程序,别的我就不知道了....谢谢!
  • 主机是WIN2000,我用的是LUNIX,请问是否可以共享上网? 如果可以请问如何设置? 500分答谢,龟儿食言!
  • 请问linux下GUI开发的问题!
  • 请问出现fstab文件丢失该怎么修复呀?
  • 请问这个方法如何调用?
  • 请问一个奇怪的问题!
  • 请问在网页中打开的新窗口,如何让其居中。
  • 请问我该学什么了
  • 请问安装zhcon,cxterm问题
  • 非常急! 请问daemontools 在red hat 9下的安装问题? 在线等待


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3