私は 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からこのコマンドを実行するのを手伝ってくれる人はいますか? または、この問題の回避策はありますか?