假设文件夹存在于下面的脚本中,有人可以告诉我为什么这不起作用吗?我逃避了额外的空间测试工作,但不知何故它不喜欢它没有错误...Bash文件系统目录测试技巧
#!/bin/bash
Base='/tmp/'
Sub='one space/another space/'
declare -a ASub
for argR in "${Sub[@]}"
do
Sub+=($(printf %q "$argR"))
done
clear
echo -n $Base
if [ -d $ExBase ]
then
echo "...OK"
else
echo "...FAIL"
fi
BaseAndSub=$Base$Sub
echo -n $BaseAndSub
if [ -d "$BaseAndSub" ]
then
echo "...OK"
else
echo "...FAIL"
fi
exit 0
你想用这个脚本做什么? –
你声明'ASub',但从不使用它。目前还不清楚在$ {Sub [@]}“'中为argR定义/初始化'Sub'数组的位置。至少经典,你需要使用'BaseAndSub =“$ Base/$ Sub”';否则,我不会写它,尽管它可能不是100%必要的(但它绝对清晰和万无一失)。如果名称有多个相邻空格,'echo -n $ BaseAndSub'会丢失它们的踪迹,其中'echo -n“$ BaseAndSub”'不会。使用双引号更宽松一点。 –