linux shell编程问题

$seq5|echo$[$(tr'\n'‘+’)0]这句命令可以求1到5的和,并输出的terminal上。本人刚开始接触shell编程,想问问中括号里面的$符号的作用是什... $ seq 5 | echo $[ $( tr '\n' ‘+’ ) 0 ]
这句命令可以求1到5的和,并输出的terminal上。本人刚开始接触shell编程,想问问中括号里面的$符号的作用是什么呢?就是$( tr '\n' '+')这句话。好像不加$符号是不对的,为什么必须有$符号呢?谢谢各位~
展开
 我来答
Winshining
2013-06-24 · TA获得超过460个赞
知道小有建树答主
回答量:202
采纳率:0%
帮助的人:211万
展开全部
seq 5输出是这样的:
1
2
3
4
5
tr '\n' '+'表示将换行符替换为'+'所以就成了1+2+3+4+5+
最后还有一个0,所以就表示1+2+3+4+5+0,可以将其想象为一个表达式,即
SUM="1+2+3+4+5+0"
那么$SUM表示引用SUM的值,原表达式的意思成为$[1+2+3+4+5+0]

最重要的是$[],它对[]中的表达式进行运算,所以得到15
$表示引用,reference,就是取值的意思
追问
先谢谢这么详细的回答~
但其实我想问的是,$( tr '\n' ‘+’ ),此句中$符号的作用。这里也是reference吗?我感觉这里的作用好像是让后面括号中的内容在terminal中执行,作用相当于`( tr '\n' ‘+’ )`。不知$是否有``的作用,还望多多指点~
追答
嗯,对,你理解的是对的,是相当于``的意思,很久没写脚本了,忘得差不多了!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式