ubuntu-关于Shell的expr命令问题。

问题描述

关于Shell的expr命令问题。

我使用的Ubuntu Kylin官网最新版,在编辑一个shell程序的时候总是报“expr:syntax error”,而且是一直在循环刷屏着报错,我使用了expr的地方如下:

 numofcharminus1=`expr $numofchar - 1
 sum=`expr $sum + $weight`
 weight=`expr $weight * 2`

这是咋回事啊?

解决方案

expr 命令
expr 命令

解决方案二:

说明sum或weight至少有个是没值的

时间: 2024-10-31 14:21:45

ubuntu-关于Shell的expr命令问题。的相关文章

Ubuntu的shell之bash和dash

Ubuntu的 shell 默认安装的是 dash,而不是 bash. 运行以下命令查看 sh 的详细信息,确认 shell 对应的程序是哪个: $ls -al /bin/sh dash 比 bash 更轻,更快.但 bash 却更常用. 如果一些命令.脚本等总不能正常执行,有可能是 dash 的原因. 比如编译 Android 源代码的时候,如果使用 dash,则有可能编译出错,或者编译的系统不能启动. 通过以下方式可以使 shell 切换回 bash: $sudo dpkg-reconfig

Ubuntu设置shell环境变量

Ubuntu设置shell环境变量 打开配置文件: vim ~/.bashrc 在文件的末尾,添加如下 export 变量名=变量 如:export JAVA_HOME=/usr/lib/jvm/java-6-sunexport PATH=$PATH:~/mybin 注销并重新登录,新的环境变量就生效了. 在http://www.aliyun.com/zixun/aggregation/13835.html">Ubuntu中有如下几个文件可以设置环境变量 /etc/profile:在登录时

Ubuntu server版上使用命令行操作VPN客户端

Ubuntu server版上使用命令行操作VPN客户端 VPN,虚拟专用网络,这个技术还是非常实用的.最近笔者参与的项目中就使用上了VPN,大概情况是这样的,有两个开发团队,在异地,代码服务器在深圳了,它使用的是企业内部局域网,支持上网功能的,我们在公网上弄了个阿里云服务器,装了ubuntu vpn的server,其实我们现在要做的就是把代码服务器通过VPN拨号上去,组建一个新的本地网络,怎么大家VPN的server笔者就不在这描述了,网上已经有大把资料了,笔者下面就简要介绍一下自己在代码服务

vb参数传递-VB高手请进!在线等。。——shell使用dos命令时参数的传递

问题描述 VB高手请进!在线等..--shell使用dos命令时参数的传递 怎样才能将%LOGPATH%所替代的内容传递到其中? (不要写成调用bat的形式) 解决方案 不行的,%logpath%不能包在括号里,应该这样 Shell "cmd /k mkdir "+LOGPATH+" > nul 2>&1", vbNormalNoFocus vb调用dos是直接运行引号内的,而不给某一变量赋值.另外包在百分号内的是bat变量而不是vb的变量 解决

终端多标签-请教一个ubuntu上shell自动远程登录的问题

问题描述 请教一个ubuntu上shell自动远程登录的问题 事情是这样的: 我想用shell脚本,实现自动的远程登录.但是呢,我需要登陆很多个. 希望能在同一个终端窗口的多个标签实现..但是目前只能每个终端实现一个登录.(spwan expect的方式) 不知道怎么实现多标签的方式. 请问哪位知道?望不吝赐教!谢谢! 解决方案 问题已解决.gnome-terminal --tab --tab....可以实现打开多个标签页的窗口.详见:http://w0z1y.blog.163.com/blog

php调用com 组件wscript.shell执行dos命令

/php调用com 组件wscript.shell执行dos命令   p('<hr width="100%" noshade /><pre>');   if ($execfunc=='wscript' && IS_WIN && IS_COM) {    $wsh = new COM('WScript.shell');    $exec = $wsh->exec('cmd.exe /c '.$command);    $std

shell里面expr显示integer expression expected

问题描述 shell里面expr显示integer expression expected #/bin/bash x=1 while [ "$x" -le 5 ]; do echo $x x='exor $x * 2' done exit 书上的程序 但是我运行显示错误 line 3: [: expr $x * 2: integer expression expected 在unbuntu 14.04 里面运行的, 书上是fedroa 求解原因 解决方案 你写得是exor.......

怎样在 ubuntu 和 debian 中通过命令行管理 KVM

怎样在 ubuntu 和 debian 中通过命令行管理 KVM 有很多不同的方式去管理运行在 KVM 管理程序上的虚拟机.例如,virt-manager 就是一个流行的基于图形界面的前端虚拟机管理工具.然而,如果你想要在没有图形窗口的服务器环境下使用 KVM ,那么基于图形界面的解决方案显然是行不通的.事实上,你可以单纯使用包装了 kvm 命令行脚本的命令行来管理 KVM 虚拟机.作为替代方案,你可以使用 virsh 这个容易使用的命令行程序来管理客户虚拟机.在 virsh 中,它通过和 li

debian/ubuntu和centos的系统升级命令

在安装/配置系统生产环境之前,一般都需要对现有系统进行升级,以确保系统内的包/组件达到最新版本,而debian/ubuntu和centos的升级命令是不同的,详情如下:debian/ubuntu,输入:apt-get update系统进行完毕后,输入:apt-get upgrade等待系统操作完毕.这一步如果你不考虑系统内部组件之间的依赖关系,而进行升级的话,将其换为:apt-get dist-upgrade等待系统操作完毕.具体 apt-get upgrade 和 apt-get dist-u