失去了這個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