我对unix环境很新,所以我必须忽略一些基本的东西...以下应该生成一个目录,只有它不存在。我将它用作生成多个目录的例程。
无论我将相同的参数传递给脚本多少次,它总是最终创建文件夹。我想阻止脚本覆盖现有文件夹。我尝试了各种各样的检查,也使用“!”尝试相反的形式。
for seqCall in "$@"; do
IFS='_' read -ra args <<< "$seqCall"
ss=${args[0]}
hq=${args[1]}
ri=${args[2]}
cd ~
echo " *** creating folder for SS$ss, with HQ$hq, and runID $ri ***"
# check if directory to be created already exists. if so, add message and skip
if [[ -d "${Daten/Runs/SS${ss}_HQ${hq}_r${ri}}" ]] ; then
echo " ACHTUNG: Runordner SS${ss}_HQ${hq}_r${ri} existiert bereits. Überspringe Neuerstellung. "
else
cd Daten/Runs/SS${ss}
cp -r ../MASTER/SSX_SCEN_rX SS${ss}_HQ${hq}_r${ri}
chmod -R 777 SS${ss}_HQ${hq}_r${ri}
echo " Folder created..."
cd ~
fi
done
答案 0 :(得分:1)
如上所述,在没有外部$ {}的情况下运行它。
此外,使用它运行应该在屏幕上显示1.001
消息。