nah*_*hab 1 java unix shell java-5
我使用Java5,我不想在Classpath中指出每个.jar文件,所以我试着编写小的shell脚本:
find $LIB_DIR -name '*.jar' -print > /tmp/classpath
CP=
cat /tmp/classpath | while read line
do
CP=$CP:$line
done
rm -f /tmp/classpath
Run Code Online (Sandbox Code Playgroud)
但这不起作用 - $ CP变量是空的.
因此,$ CP应该是单个字符串,其中包含由':'分隔的路径
有谁知道这里有什么问题,以及如何正确地将所有文件的行连接到一个字符串?
您的while循环位于子shell中,因此不会将任何变量传递回主shell.无论如何,你想做这样的事情:
CP=$(find $LIB_DIR -name '*.jar' -print | tr '\n' ':')
Run Code Online (Sandbox Code Playgroud)
那就是你想要的一切都在一条线上.
| 归档时间: |
|
| 查看次数: |
574 次 |
| 最近记录: |