Bash脚本中的下面一行
echo $AAAA" "$DDDD" "$MOL_TAG >> ${OUPUT_RESULTS}
给我这个错误:
line 46: ${OUPUT_RESULTS}: ambiguous redirect
Why?
Bash脚本中的下面一行
echo $AAAA" "$DDDD" "$MOL_TAG >> ${OUPUT_RESULTS}
给我这个错误:
line 46: ${OUPUT_RESULTS}: ambiguous redirect
Why?
当前回答
如果你在这里试图用GitHub动作调试这个“模糊重定向”错误。我强烈建议这样尝试:
echo "MY_VAR=foobar" >> $GITHUB_ENV
我使用$GITHUB_ENV所经历的行为是,它将其添加到管道环境变量中,如我的示例所示MY_VAR
其他回答
我刚刚在bash脚本中出现了这个错误。问题是在前一行的末尾出现了一个意外的\错误。
在我的例子中,这是一个有用的警告,因为目标变量(不是文件)拼写错误并且不存在。
echo "ja" >> $doesNotExist
导致
./howdy.sh: line 4: $doesNotExist: ambiguous redirect
如果你在这里试图用GitHub动作调试这个“模糊重定向”错误。我强烈建议这样尝试:
echo "MY_VAR=foobar" >> $GITHUB_ENV
我使用$GITHUB_ENV所经历的行为是,它将其添加到管道环境变量中,如我的示例所示MY_VAR
另一个可能导致“模糊重定向”的东西是你所写的变量名中的\t \n \r
也许不是\n\r?但宁可慎之又慎
试试这个
echo "a" > ${output_name//[$'\t\n\r']}
我在解析HTML时遇到了这个问题,tab \t在行首。
在尝试使用大括号展开将输出写入多个文件时,我得到了此错误。
例如:echo "text" > {f1,f2}.txt将导致-bash: {f1,f2}.txt:模糊重定向
在这种情况下,使用tee输出到多个文件:
echo "text" | tee {f1,f2,...,fn}.txt 1>/dev/null
1>/dev/null将阻止将文本写入标准输出
如果你想追加到文件中,使用tee -a