分页: 1 / 1

测试变量自己加1后打印结果,发现变量加1后,没有成功赋值回原变量

发表于 : 2009-01-13 12:29
flygun2005
我写了一个脚本,想测试变量自己加1,然后再打印结果,却发现变量加1后,没有赋值回原变量,大家可以试试:

代码: 全选

#!/bin/bash
num=1
num= expr $num "+" 1
echo "this is ${num} "
num= expr $num "+" 1
echo "aftert is ${num} "
执行结果是
2
this is 1
2
aftert is 1

Re: 测试变量自己加1后打印结果,发现变量加1后,没有成功赋值回原变量

发表于 : 2009-01-13 14:08
bones7456
(( num++ ))

Re: 测试变量自己加1后打印结果,发现变量加1后,没有成功赋值回原变量

发表于 : 2009-01-14 17:43
cnkilior
flygun2005 写了:我写了一个脚本,想测试变量自己加1,然后再打印结果,却发现变量加1后,没有赋值回原变量,大家可以试试:

代码: 全选

#!/bin/bash
num=1
num= expr $num "+" 1
echo "this is ${num} "
num= expr $num "+" 1
echo "aftert is ${num} "
执行结果是
2
this is 1
2
aftert is 1

那么明顯空格。。。
你用debug模式運行這個腳本吧。

代码: 全选

[code]
#!/bin/bash -x
num=1
num= expr $num "+" 1
echo "this is ${num} "
num= expr $num "+" 1
echo "aftert is ${num} "
[/code]

Re: 测试变量自己加1后打印结果,发现变量加1后,没有成功赋值回原变量

发表于 : 2009-01-15 6:11
aerofox

代码: 全选

num= expr $num "+" 1
这句的意思是,执行 expr $num "+" 1,子进程中环境变量 n 的值为空串

Re: 测试变量自己加1后打印结果,发现变量加1后,没有成功赋值回原变量

发表于 : 2009-04-08 14:44
ethan2514
写个例子你看:
SUM=`[/color]expr $SUM + 1`
第一、`这个符号是~下面的那个符号,别用成了“下面的那个符号
第二、=号后面,也就是`符号前无空格!
完毕!