shell变量在函数间修改问题
#!/bin/bash
RootPath=.
function aaa () {
a=123
b=456
echo In aaa a:$a b:$b
}
function bbb () {
int=1
find $RootPath | sed '/svn/d' > file
cat file | while [ $int -gt 0 ]
do
echo $line | grep ".cpp$"
(( a=$a+123 ))
(( b=$b+456 ))
(( int=$int-1 ))
echo In bbb a:$a b:$b
done < file
}
aaa
bbb
echo OUT a: $a b: $b
输出为:
In aaa a:123 b:456
In bbb a:246 b:912
OUT a: 123 b: 456
因为管道问题,输出的第二行和第三行不一样
请问我怎么才能让第二行和第三行输出相同,谢谢
我的OS是ubuntu 11.04
谢谢