我遇到一个简单的shell脚本问题,它只是将文件从一个位置移动到另一个位置。它需要源和&目标路径&名称作为参数。代码如下......
#!/bin/sh
if [ ! -f $1 ]; then
exit 1
else
ls -l $1
mv -v $1 $2
X=$?
echo 'Move completion code = ' $X
ls -l $2
exit $X
fi
在顺序作业计划中多次调用此脚本,将数据加载到(替换)同一文件。最近看到移动脚本之后的作业使用之前存在的文件中的数据运行的实例 - 表示它没有被覆盖 - 但移动脚本中的消息显示成功移动 - 并且检查文件本身会显示预期的数据。有任何想法吗?在mv命令完全完成之前脚本是否可以完成?我已经把完成代码消息放入检查中,我也试过睡了5秒钟。我错过了什么? 谢谢!
...更新 这是添加md5sum检查后的输出....
-rw-r--r--. 1 appworx dba 22 Aug 10 12:15 UP.dat
Before move - file 1
9bf394b473cf389d704357e4da46fcfa UP.dat
`UP.dat' -> `ids.dat'
removed `UP.dat'
After move - file 2
9bf394b473cf389d704357e4da46fcfa
Move completion code = 0
-rw-r--r--. 1 appworx dba 22 Aug 10 12:15 load_ids.dat