我一直在尝试为我的项目更改旧的Shell脚本。我已经做了一些研究,但在shell脚本中使用了:
,但对我来说还不太清楚。
#!/bin/bash
cd /home/dir1/dir2/dir3
FILES=../lib/*
CLASSPATH=.:../conf/
for f in $FILES
do
CLASSPATH=$CLASSPATH:$f
done
echo $CLASSPATH
他们在这里尝试做什么,是在两个目录中查找相同的命名文件并将它们分配给CLASSPATH
?
答案 0 :(得分:6)
:
是CLASSPATH的分隔符。
你的脚本基本上是:
/home/dir1/dir2/dir3
../lib/*
分配给FILES
.
(当前目录)和../conf
分配给CLASSPATH
(以:
分隔)FILES
中的每个文件都将CLASSPATH
设置为自身(以保留旧值)并附加找到的文件的路径(再次以:
分隔)答案 1 :(得分:1)
:
是分隔符。
所以他们正在做的是将所有文件放在目录../lib
中,并通过for循环将它们全部附加到CLASSPATH
。