bash - Shell 脚本不清楚 ": "的用法

标签 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 吗?

最佳答案

: 是 CLASSPATH 的分隔符。

你的脚本基本上是:

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

关于bash - Shell 脚本不清楚 ": "的用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34042416/

相关文章:

linux - rsync 在传输过程中以固定位置挂起

linux - unix格式化输出变量

linux - 崩溃停止 bash 管道

linux - 卸载所有 samba 文件系统

bash - 在 bash 中,如何跟踪当前正在写入的 fifo,然后再次跟踪 fifo,寻找不同的文本?

c - sigaction()中第二个结构(* oldact)的用途是什么

python - Unix:有没有Python脚本不断运行的最佳实践?

bash - 如何进入这个 dockerfile/nginx 容器?

shell脚本无法将命令行的输出保存到变量中

linux - 对管道中的数字执行算术运算