我在文本文件中列出了许多文件名,其中每行(file_name)都被提取并传递给pmcmd。 Param文件具有特定的格式,包括全局参数,如用户名,密码,域名,文件名等。我的问题是如何在循环中更改文件名,传递给pmcmd并触发wf从文本文件中列出的每个文件加载数据
这是我的示例脚本
while IFS= read -r var_filename; do
if [ $p_count -ne 0 ]
then
param_file_name=param_file.txt
out_param=/infa_pmroot/infa_shared/epi/Scripts/claims_dev/test_nv/$param_file_name
if [ -f $out_param ]; then rm -f $out_param; fi;
echo $var_filename > $param_file_name
echo Started executing workflow for $var_filename
pmcmd startworkflow -sv $Integration_Services -d $Domain -usd $Ldap -u $Username -p $Password -f $Folder -wait wf_workflow_name >>$LogFile 2>>$LogFile
else
echo Check the count of records in PROCESSED_FILE_DETAILS_LOG for the $var_table_name with the "$var_table_name"_FULL_FILE_LIST.txt
fi
done < $3"_to_be_processed_file_list.txt"
fi
答案 0 :(得分:0)
在您的会话中,将$ InputFileName作为源文件名。现在在for循环中将参数附加到param文件中:
echo "[Global]"> $param_file_name
echo "\$InputFileName=$var_filename" >> $param_file_name
然后将参数文件路径传递给pmcmd
pmcmd startworkflow -sv $Integration_Services -d $Domain -usd $Ldap -u $Username -p $Password -f $Folder -paramfile $param_file_name -wait wf_workflow_name >>$LogFile 2>>$LogFile