为了账号安全,请及时绑定邮箱和手机立即绑定

假设expr变量无法赋值给变量?我该咋操作?

假设expr变量无法赋值给变量?我该咋操作?

红颜莎娜 2021-08-31 11:07:15
系统是centos 7 shell如下:#!/bin/bashn=`expr 1 - 1`sd=`expr $n + 1`结果显示:expr: non-integer argument为什么?
查看完整描述

2 回答

?
慕标5832272

TA贡献1966条经验 获得超4个赞

在Mathmatica中用等号=为变量赋值。同一个变量可以表示一个数值,一个数组,一个表达式,甚至一个图形。如:
In[1]:=x=3
Out[1]=3
In[2]:=x^2+2*x
Out[2]=15
In[3]:=x=%+1
Out[3]=16
对不同的变量可同时赋不同的值,例如:
In[4]:={u,v,w}={1,2,3}
Out[4]={1,2,3}
In[5]:=2u+3v+w
Out[5]=11
对于已定义的变量,当你不再使用它是,为防止变量值的混淆,可以随时用=.清除它的值,如果变量本身也要清除用函数Clear[var],例如:
In[6]:=u=.
In[7]:=2u+v (上面已定义了u,v的值)
Out[7]=2+2u

如果是函数问题,还有所谓的延迟赋值.
延迟定义函数从定义方法上与即时定义的区别为 “=” 与“:=”延迟定义的格式为f[x_]:=expr其他操作基本相同。那么延迟定义和即时定义的主要区别是什么?即时定义函数在输入函数后立即定义函数并存放在内存中并可直接调用。延时定义只是在调用函数时才真正定义函数。



查看完整回答
反对 回复 2021-09-06
?
神不在的星期二

TA贡献1963条经验 获得超6个赞

AAA=`expr $a1 + $a2 + $a3`

应该是这样吧,表示执行命令(注意标点符号)

查看完整回答
反对 回复 2021-09-06
  • 2 回答
  • 0 关注
  • 423 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信