Informatica命令任务中的unix命令 - 我缺少什么?

时间:2014-08-18 21:36:30

标签: unix task informatica

我尝试了一个简单的

if [ 1 == 1 ]; then echo "Hi"; fi >>/projects/ods/Chk.txt

包含在命令任务中,但失败并显示错误代码512 ....

我在这里错过了什么?

2 个答案:

答案 0 :(得分:0)

if/fi块无法重定向输出。

使用

if [ 1 == 1 ]; then echo "Hi">>/projects/ods/Chk.txt; fi 

正如您所指出的,这是一个简单的测试用例,如果您需要从更大的if/the/else/fi块或其他逻辑块输出,您可以将它全部包装在进程组中并重定向该输出。

{
   if [ 1 == 1 ]; then 
     echo "Hi"
   else
     echo "nope" 
   fi 
} >>/projects/ods/Chk.txt

此外,使用==可能会出现问题。通常,您使用1 -eq 1或其他结构(如if true ; then),或者如果您真的想要进行良好的数学比较,请使用if (( 1 == 1 )) ; then ...,但较旧的shell可能支持也可能不支持{{1}测试。

IHTH

答案 1 :(得分:0)

在搜索我的一些查询时找到了这个。 你应该使用创建模式而不是追加模式。 >>不起作用,同样发生在我身上。试试这个,如果你仍然面对这个并需要一个答案。 :)