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

系统是centos 7 shell如下:
#!/bin/bash
n=`expr 1 - 1`
sd=`expr $n + 1`
结果显示:expr: non-integer argument
为什么?

红颜莎娜
浏览 424回答 2
2回答

慕标5832272

在Mathmatica中用等号=为变量赋值。同一个变量可以表示一个数值,一个数组,一个表达式,甚至一个图形。如:In[1]:=x=3Out[1]=3In[2]:=x^2+2*xOut[2]=15In[3]:=x=%+1Out[3]=16对不同的变量可同时赋不同的值,例如:In[4]:={u,v,w}={1,2,3}Out[4]={1,2,3}In[5]:=2u+3v+wOut[5]=11对于已定义的变量,当你不再使用它是,为防止变量值的混淆,可以随时用=.清除它的值,如果变量本身也要清除用函数Clear[var],例如:In[6]:=u=.In[7]:=2u+v (上面已定义了u,v的值)Out[7]=2+2u如果是函数问题,还有所谓的延迟赋值.延迟定义函数从定义方法上与即时定义的区别为 “=” 与“:=”延迟定义的格式为f[x_]:=expr其他操作基本相同。那么延迟定义和即时定义的主要区别是什么?即时定义函数在输入函数后立即定义函数并存放在内存中并可直接调用。延时定义只是在调用函数时才真正定义函数。

神不在的星期二

AAA=`expr $a1 + $a2 + $a3`应该是这样吧,表示执行命令(注意标点符号)
打开App,查看更多内容
随时随地看视频慕课网APP