我正在使用 Oracle ODI 11g。我有linux源服务器。我必须通过删除前缀 (e_) 来重命名文件夹中的所有文件。我使用了命令:
cd /weblogic/
for f in $(ls e*); do echo mv "${f}" "${f##e_}"; done
通过腻子,它工作正常。此命令在 ODI 的 OSCommand API 中不起作用。我得到以下异常:
java.io.IOException: Cannot run program "for": error=2, No such file or directory
在命令周围添加引号不能解决问题。我也尝试将此命令复制到 test.sh 文件中,但它也不会从 ODI OSCommand 执行。(这也是从腻子执行的)。文件的权限设置为 777。我得到以下异常
java.io.IOException: Cannot run program "./weblogic/test.sh": error=2, No such file or directory
我可以从 ODI 重命名目录中的单个文件,但它不适用于“for”。谁能帮我从 ODI 执行这个命令?或者这个问题有什么解决方法吗?