免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: chilewh
打印 上一主题 下一主题

怎样将字符串变成数值(已解决) [复制链接]

论坛徽章:
0
11 [报告]
发表于 2009-03-03 15:53 |只看该作者

回复 #10 我是DBA 的帖子

v_bw=$((v_bw+0))
这句话是什么意思呀?
我这提示出:
-bash: 500
500
600
600
600
600
")syntax error: operand expected (error token is "

论坛徽章:
0
12 [报告]
发表于 2009-03-03 15:58 |只看该作者
我在网上找到这样一句话:

“shell变量默认情况下,它是作为保存字符串的。即使它被赋予数值也是保存为字符串”

论坛徽章:
0
13 [报告]
发表于 2009-03-03 15:59 |只看该作者

回复 #12 chilewh 的帖子

那说明你取到的值不是唯一值

论坛徽章:
0
14 [报告]
发表于 2009-03-03 16:03 |只看该作者
现在改过来了

但是第二句提示如下:
")syntax error: operand expected (error token is "

论坛徽章:
0
15 [报告]
发表于 2009-03-03 16:26 |只看该作者
你这个问题应该不是什么“字符串”,”数字“ 的问题,
一个程序被exec,参数都是字符串,在c中都是 char **argv类型,
你试试直接执行,不要用变量:  tc  ... ... ...  rate 600 ... ...   如果还有错,说明rate后面的参数给的不符合要求,
如果没有错,那可能就是你的$v_bw中有特殊字符

论坛徽章:
0
16 [报告]
发表于 2009-03-03 16:39 |只看该作者
直接执行 tc  ... ... ...  rate 600 ... ...   没有出问题

又尝试了“v_bw的值前面还有空格什么的”这个建议
v_bw=$(sed -n '/^bandwidth/s/bandwidth //p' /root/test/s.conf|tr -d " ")

echo $v_bw
输出600

请问$v_bw中还能有其他什么特殊字符

为什么有的变量定义是d="eth0"  rate=1000
这两个是不同的吧!我想我的问题就是这两个转换的问题

论坛徽章:
0
17 [报告]
发表于 2009-03-03 16:43 |只看该作者
那你就这样:
test=600
test2="600"

tc ......  rate $test  ....
tc ......  rate $test2  ....

这两条命令如果都能成功,那么肯定你的 $v_bw 有些啥特殊的了

echo -n "$v_bw" | cat -A  能看到$v_bw里有些啥

[ 本帖最后由 seeLnd 于 2009-3-3 16:45 编辑 ]

论坛徽章:
0
18 [报告]
发表于 2009-03-03 16:53 |只看该作者
产生了一个问题
配置文件/root/test/s.conf
# TAG: bandwidth
bandwidth  600



#获取bandwidth的值
v_bw=$(sed -n '/^bandwidth/s/bandwidth //p' /root/test/s.conf)
(( v_bw=$ v_bw+ 1 ))
echo $v_bw
result:600

我的结果怎么是600,没变呀?

论坛徽章:
0
19 [报告]
发表于 2009-03-03 16:54 |只看该作者
原帖由 chilewh 于 2009-3-3 16:53 发表
产生了一个问题
配置文件/root/test/s.conf
# TAG: bandwidth
bandwidth  600



#获取bandwidth的值
v_bw=$(sed -n '/^bandwidth/s/bandwidth //p' /root/test/s.conf)
(( v_bw=$ v_bw+ 1 ))
echo $ ...

(( v_bw=$ v_bw+ 1 ))

论坛徽章:
0
20 [报告]
发表于 2009-03-03 16:55 |只看该作者
用rate="600"时,产生错误:
Illegal "rate"

请你们帮帮忙啦!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP