Shell脚本使用不清楚" :"

时间:2015-12-02 12:10:45

标签: bash shell unix for-loop

我一直在尝试为我的项目更改旧的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

2 个答案:

答案 0 :(得分:6)

:是CLASSPATH的分隔符。

你的脚本基本上是:

  1. 将当前目录设置为/home/dir1/dir2/dir3
  2. ../lib/*分配给FILES
  3. .(当前目录)和../conf分配给CLASSPATH(以:分隔)
  4. FILES中的每个文件都将CLASSPATH设置为自身(以保留旧值)并附加找到的文件的路径(再次以:分隔)

答案 1 :(得分:1)

:是分隔符。

所以他们正在做的是将所有文件放在目录../lib中,并通过for循环将它们全部附加到CLASSPATH