失去了这个bash脚本串接的jar文件名到类路径(可变CP),while循环的值是正确的,但在子shell丢失在此相关的问题Bash variable scope变量值获取子shell
descibed#!/bin/bash
CP="AAA"
func() {
ls -1 | while read JAR
do
if [ ! -z "$CP" ]; then
CP=${CP}':'
fi
CP=${CP}${JAR}
done
echo $CP # <-- prints AAA
}
func
我的问题是,因为我不知道哪个元素是最后一个元素,所以如何保存这个值。
我是否真的必须将当前值(在循环中重复)保存到文件中?
编辑:
一位同事想出了其在这里工作得很好
ls | xargs echo|tr ' ' :
'echo * .jar | tr'':' – 2010-06-22 14:47:59