h394867099 2015-02-12 07:46 采纳率: 0%
浏览 1925

同一个shell的变量的有效范围

为什么变量LIBS_DIR在cat内的值是正确的为什么在最后的一个echo就变为空了?

是这个变量有有效范围了么?

cat $PWD/.tmp | while read line

do
echo "creat main line:$line"
SUB_PATH=$line
SUB_NAME=${SUB_PATH##*/}
echo "$SUB_NAME/lib${SUB_NAME}.a"
LIBS_DIR=$LIBS_DIR" "$SUB_NAME/lib${SUB_NAME}.a
echo "LIBS_DIR:$LIBS_DIR"
done;
echo "LIBS_DIR:$LIBS_DIR"

执行结果为:

creat main line:/home/test/gun/m1
m1/libm1.a
LIBS_DIR: m1/libm1.a
creat main line:/home/test/gun/m2
m2/libm2.a
LIBS_DIR: m1/libm1.a m2/libm2.a
creat main line:/home/test/gun/m3
m3/libm3.a
LIBS_DIR: m1/libm1.a m2/libm2.a m3/libm3.a
LIBS_DIR:

  • 写回答

2条回答 默认 最新

  • h394867099 2015-02-12 07:47
    关注

    顶起来,晚上就要交作业了,很奇怪,为什么第一个LIBS_DIR可以,最后一个LIBS_DIR就错了,哎,无解哇~~

    评论

报告相同问题?