在 shell 脚本中创建文件后,将文件移动到文件夹中时遇到问题。
我的脚本看起来像:
#!/bin/bash
echo -e "Processing\033[36m" $1 "\033[0mwith the German script";
if [ ! -d ${1%.dat} ]; then
echo -e "making directory\033[33m" ${1%.dat} "\033[0msince it didn't exist...";
mkdir ${1%.dat};
fi
...处理发生在这里...(与问题无关)
if [ -d ${1%.dat} ]; then
mv useragents_$1 /${1%.dat}/useragents_$1;
mv summary_$1 /${1%.dat}/summary_$1;
more /${1%.dat}/useragents_$1;
else
echo -e "\033[31mERROR: cannot move files to folder.\033[0m";
fi
如您所见,如果文件夹在顶部不存在,我将创建该文件夹,然后如果存在,我将文件移动到底部的该文件夹中,问题是它没有及时创建文件夹以移动中的文件(我假设)所以当它到达较低的代码时,我只会得到错误。
我尝试使用,sleep 5,但它只会减慢脚本并且对错误没有影响。
我真的很感激一些建议。
以下错误:
mv: cannot move `useragents_100_stns2_stns6.dat' to `/100_stns2_stns6/useragents_100_stns2_stns6.dat': No such file or directory
mv: cannot move `summary_100_stns2_stns6.dat' to `/100_stns2_stns6/summary_100_stns2_stns6.dat': No such file or directory
/100_stns2_stns6/useragents_100_stns2_stns6.dat: No such file or directory