Bash 通配符和变量用法

Bash Wildcard and Variable Usage

我想要实现的是通过排除 workspace 目录将源目录中的所有内容复制到目标目录,我有以下命令来执行此操作:

rsync -av --exclude='directory-name*/workspace' sourceDir destinationDir

运行良好,但如果我尝试为 "directory-name" 使用变量:

VARIABLE_NAME="directory-name"
rsync -av --exclude='$VARIABLE_NAME*/workspace' sourceDir destinationDir

变量在单引号内不展开,改用双引号:

rsync -av --exclude="$VARIABLE_NAME"'*/workspace' sourceDir destinationDir