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至少有个是没值的

时间: 2016-06-10
Tags: shell, ubuntu, linux, Bash, expr

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

linux下shell中执行命令的顺序问题

    在shell中有很多种命令的同义词,到底先执行的是哪一个命令呢,我们可以借助type -a命令来检查.     为了测试我们就对type本身做一条alias:     alias type=type     然后我们通过type -a type查看一下,结果如下: type -a type type is aliased to `type' type is a shell builtin type is /usr/bin/type     可以清楚地看到,对于命令来说首先执行的是alia

ubuntu中安装apache ab命令并进行压力测试

1.安裝ab命令 sudo apt-get install apache2-utils 2.ab命令参数说明 Usage: ab [options] [http[s]://]hostname[:port]/path Options are: //总的请求数 -n requests Number of requests to perform宅 //一次同时并发的请求数 总的请求数(n)=次数*一次并发数(c) -c concurrency Number of multiple requests t

Linux下shell中case命令详解

  linux下shell中的case名字和C/C++中的switch类似,但是shell中的case更强大和复杂. 1.强大主要体现在:shell中case中的关键字可以是字符串类型,而每一项中可以包含正则表达式. 2.复杂主要体现在:shell中case的每一个项后有三个选择:break(常规的break).unconditional follow up(无条件继续)和conditional follow up(有条件继续). 这篇文章的重点是上面的第2点. case的无条件继续和有条件继续

Linux Shell脚本Ldd命令原理及使用方法

1.首先ldd不是一个可执行程序,而只是一个shell脚本2.ldd能够显示可执行模块的dependency,其原理是通过设置一系列的环境变量如下:LD_TRACE_LOADED_OBJECTS.LD_WARN.LD_BIND_NOW.LD_LIBRARY_VERSION. LD_VERBOSE等.当LD_TRACE_LOADED_OBJECTS环境变量不为空时,任何可执行程序在运行时,它都会只显示模块的 dependency,而程序并不真正执行.要不你可以在shell终端测试一下,如下:(1)