猿问

SHELL中$[num1]这种写法是什么意思

SHELL中$[num1]这种写法是什么意思?

num1=$[2*3] 

num2=$[1+5]

if test $[num1] -eq $[num2]

点丶阙4015137
浏览 3239回答 1
1回答

pardon110

 在shell中是test操作命令,通常用来测试文件,比较数字,字符串。而代码语句的[]表示进行基本的算数运算。$在shell中通常表示对变量内容的引用。其中 -eq是测试条件中的操作符,判断是否相等num1=$[2*3]  #计算表达式2*3的值赋给变量num1 test $[num1] - eq $[num2]  # 比较数值变量num1与数值变量2是否相等需要注意的是在shell中赋值时,=号两边不能有空格,右边值默认为字符串类型,在sell中变量的定义与使用是两个概念,定义完变量,在使用变量值时,需要在变量名前加$符号简单来讲 $[num1] 是表示使用一个数值变量,而$str则是使用一个字符串变量,${nam}这种形式则表示为进行对变量的使用(不确定变量类型)对于 a=3+7 ,若$a则值为字符串3+7,若$[a]则对其内容值进行运算后的结果为10。前者默认为字符串,后者则是程序表达式语句。前者相当于其它语言中的对字符加了单双引号,后者类似js或python语言中的eval函数传入一个字符串,通过相应解释器进行评估计算
随时随地看视频慕课网APP
我要回答