我正在使用 Docker,并尝试在使用 Alpine Linux 和 sh 作为 shell 的容器中运行以下脚本:
注意:
SCANDISK_MOUNT
和SCAN_MOUNT
是定义为var/scanserver
和 的环境变量/var/scan
#!/bin/sh
if [[ -z "$SCANDISK_MOUNT" ]] && [[ -z "$SCAN_MOUNT" ]]; then
return 0;
fi
for i in folder1 folder2 folder3 folder4; do
if [ -d "$SCANDISK_MOUNT/$i" ]; then
continue
fi
case $i in
'folder1')
mkdir -p "$SCANDISK_MOUNT/$i"/{subf1,subf2,subf3}
;;
'folder2')
mkdir -p "$SCANDISK_MOUNT/$i"/{subf4,subf5,subf6}
;;
esac
done
mkdir -p "$SCAN_MOUNT"/{fold1,fold2,fold3}
mkdir -p "$SCANDISK_MOUNT"/{downloads}
chown -R www-data "$SCANDISK_MOUNT" "$SCAN_MOUNT"
从上面的脚本中,我希望创建以下目录结构:
.
└── /var/
├── /scanserver/
│ ├── /folder1/
│ │ ├── /subf1
│ │ ├── /subf2
│ │ └── /subf3
│ ├── /folder2
│ ├── /folder3
│ ├── /folder4
│ └── /downloads
└── /scan/
├── /fold1
├── /fold2
└── /fold3
但我得到了这个,但我不确定我错过了什么:
.
└── /var/
├── /scanserver/
│ ├── /folder1/
│ │ └── {subf1,subf2,subf3}
│ ├── /folder2
│ ├── /folder3
│ └── /folder4
└── /scan/
└── {fold1,fold2,fold3}
可以看到里面的目录folder1
并scan
没有展开,downloads
下面的目录scanserver
也没有创建,为什么呢?