假設文件夾存在於下面的腳本中,有人可以告訴我爲什麼這不起作用嗎?我逃避了額外的空間測試工作,但不知何故它不喜歡它沒有錯誤...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」'不會。使用雙引號更寬鬆一點。 –