Autosys作业没有正确执行linux命令

时间:2018-01-17 16:12:28

标签: linux bash job-scheduling autosys

我在autosys上有一个命令作业,它应该执行一个bash脚本来重命名特定目录中的几个文件。我的脚本有这个:

for x in /opt/testing/fileToRename*.xls;
do mv "$x" "newName.csv";
done

当我直接从shell运行脚本时,一切正常,如果我接受命令直接从它运行的shell运行它,但当我尝试从我的工作的命令属性运行它时,这个工作只删除路径中的所有文件但不重命名文件。只是为了澄清,我在我的工作的owner属性中使用的用户与我在shell中使用的用户相同。

有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:0)

使用新文件的完整路径,当autosys以您的用户身份运行脚本时,它不会在/opt/testing/中运行它,很可能会将新文件放入用户的 $ HOME 或<代理的strong> $ HOME 目录,这就是为什么也许找不到newName.csv的原因。 $ x 虽然包含文件的完整路径,所以删除有效,但重命名进入了其他文件夹。

for x in /opt/testing/fileToRename*.xls;
do mv "$x" "$(dirname "$x")/newName.csv";
done