管道引起的赋值问题?
恭喜您,您遇上财神了,送给你10庆典金币!
#!/bin/bash
pp=10
echo $pp
for path in /FTP/*/Download ; do
cd $path
echo `pwd`
pp=0
done
echo $pp
echo
echo
cd /FTP/JRL/Download
export p=11
echo '$p='$p
ls -l --time-style +%Y%m%d | grep ^[^d] | awk '{print $6}' | sed -e '/^$/d' | while read name;
do
echo $name
p=0
done
echo '$p='$p
[perl@www bashcode]$ c.sh
10
/FTP/HLJW/Download
/FTP/JRL/Download
/FTP/ZTDX/Download
0
$p=11
20080827
20080827
$p=11
第一次for,pp的值在循环体中更改,退出循环后,成功置为0;
第二次for,p的值在循环中更改,退出循环后,值依然为11;
为何如此?管道的问题?