日期:2014-05-16  浏览次数:20685 次

这个标红的用法是啥意思?
cat sum.txt | echo $[ $(tr '\n' '+') 0]

我想问下这里标红部分 $符号到底表达什么意思?在linux哪些地方使用这个?
我仅仅知道,在shll变量中前面要加$

------解决方案--------------------
cat sum.txt 
------解决方案--------------------
 echo $[ $(tr '\n' '+') 0]

# cat sum.txt 
1
2
3
4
5

# cat sum.txt 
------解决方案--------------------
 echo $[ $(tr '\n' '+') 0]
15

tr '\n' '+' 的意思是把换行替换成加号
$() 是命令替换,类似于反单引号 ` `
$[] 是表达式计算

# echo $[1+2+3+4+5+0]
15
------解决方案--------------------
引用:
cat sum.txt 
------解决方案--------------------
 echo $[ $(tr '\n' '+') 0]

# cat sum.txt 
1
2
3
4
5

# cat sum.txt 
------解决方案--------------------
 echo $[ $(tr '\n' '+') 0]
15

tr '\n' '+' 的意思是把换行替换成加号
$() 是命令替换,类似于反单引号 ` `
$[] 是表达式计算

# echo $[1+2+3+4+5+0]
15