目标是检查文件的存在并在不存在的情况下创建一个空白文件,在会话前命令(Informatica PowerCenter)上使用Shell脚本,如下所示:
ParamDirTrabalho=/dir/powercenter/project1
ParamArq=file.csv
ParamQtdArq=`cat ${ParamDirTrabalho}/${ParamArq} | wc -l`
if [ $ParamQtdArq == 0 ];then touch ${ParamDirTrabalho}/${ParamArq};fi这是一个错误:
消息:会话前后命令进程id 10683。标准输出和错误: sh:第2行::命令未找到cat: /dir/powercenter/project1 1 /file.csv :没有这样的文件或目录sh:第4行:命令未找到
当指向带有上述代码的sh文件时,我可以成功地执行。但我需要在会话前命令.中编写代码。
发布于 2019-12-27 10:20:40
请用双引号括住参数。
另外,请确保您为文件夹提供RWX权限。
发布于 2020-01-09 22:41:24
如果文件根本不存在,就无法从文件中获取WC。这就是如果我理解正确的话,错误就是“没有这样的文件或目录”。您需要做的是检查文件是否存在,而不是计数,然后触摸如果它不存在。
if [ ! -f filename ];then touch filename; fi或
if [ -f filename ];then exit 0; else touch filename; fihttps://stackoverflow.com/questions/59090870
复制相似问题