打印

管道引起的赋值问题?

管道引起的赋值问题?

恭喜您,您遇上财神了,送给你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;
为何如此?管道的问题?

TOP

看得不是太明白,

TOP


感谢一直以来您对我们的支持!
当前时区 GMT+8, 现在时间是 2008-12-2 14:05 京ICP证060528 号

Designed By 17DST