shell脚本的变量有效范围
为什么变量LIBS_DIR在cat内的值是正确的为什么在最后的一个echo就变为空了?
是这个变量有有效范围了么?
cat $PWD/.tmp | while read line
doecho "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:
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
用done < .tmp 不用管道。
引用来自“Mr_hushy”的评论
求shell大神指点迷津,今天晚上就要交作业了~~~
求shell大神指点迷津,今天晚上就要交作业了~~~