为什么echo $((1+2))需要加两层括号

sh/bash/dash/ksh/zsh等Shell脚本
回复
头像
NewUserFF
帖子: 413
注册时间: 2010-11-19 22:55
送出感谢: 10 次
接收感谢: 1 次

为什么echo $((1+2))需要加两层括号

#1

帖子 NewUserFF » 2013-03-09 22:39

为什么echo $((1+2))需要加两层括号?$((something)), ${something} $(something)都是什么时候用?
头像
枫叶饭团
论坛版主
帖子: 14685
注册时间: 2010-06-16 1:05
系统: Mac OS X
来自: Tencent
送出感谢: 1 次
接收感谢: 132 次
联系:

Re: 为什么echo $((1+2))需要加两层括号

#2

帖子 枫叶饭团 » 2013-03-09 22:43

shell的语法就这样子的
${}用的地方很多,数组呀,分割字符串什么的
头像
cjxgm
帖子: 1950
注册时间: 2010-04-23 20:40
系统: Arch Linux
来自: 浙江·杭州
送出感谢: 1 次
接收感谢: 30 次
联系:

Re: 为什么echo $((1+2))需要加两层括号

#3

帖子 cjxgm » 2013-03-10 10:19

代码: 全选

man bash
头像
iamfbi
帖子: 1081
注册时间: 2009-02-06 9:18
来自: 小僧乃吐蕃国大雪山大轮寺护国法师座下四大护法之西域妖僧是也
送出感谢: 0
接收感谢: 11 次

Re: 为什么echo $((1+2))需要加两层括号

#4

帖子 iamfbi » 2013-03-10 10:23

双括号应该是
$((1+2)) = $(3)

一个括号应该是
$(1+2) = $(1+2)

我猜的。。。 :em06
Laptop: i5-460m hm55 4g 320g hd5470 14'led 2.3kg (acer 4738g)
Windows XP 7 8 all in one partition.
Ubuntu 10.04 LTS
Mac OS X 10.6.7
折腾笔记
论坛随手记
头像
YeLee
论坛版主
帖子: 26408
注册时间: 2008-08-13 8:48
系统: Fundu i64
来自: 东海硇州,一双管钥。
送出感谢: 25 次
接收感谢: 307 次
联系:

Re: 为什么echo $((1+2))需要加两层括号

#5

帖子 YeLee » 2013-03-10 10:29

一层括号那个不是跟``一样了么?估计会command not found吧。 :em04 :em04 :em04
◎当我站在道德的高度上俯视别人的时候,发现自己是多么渺小。
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
zhangxiaofir
帖子: 53
注册时间: 2010-12-09 23:54
送出感谢: 0
接收感谢: 0

Re: 为什么echo $((1+2))需要加两层括号

#6

帖子 zhangxiaofir » 2013-03-13 10:54

代码: 全选

((expression))
              The  expression  is  evaluated  according  to the rules described below
              under ARITHMETIC EVALUATION.  If the value of the  expression  is  non-
              zero,  the  return status is 0; otherwise the return status is 1.  This
              is exactly equivalent to let "expression".
man是个好东西啊
头像
Methuselar
帖子: 122
注册时间: 2009-06-04 12:06
送出感谢: 0
接收感谢: 3 次
联系:

Re: 为什么echo $((1+2))需要加两层括号

#7

帖子 Methuselar » 2013-03-21 9:30

bash bash
Mea Culpa!
回复

回到 “Shell脚本”