获得“模糊重定向”错误

我的Bash脚本中的以下行


 echo $AAAA"     "$DDDD"         "$MOL_TAG  >>  ${OUPUT_RESULTS}

给我这个错误:


 line 46: ${OUPUT_RESULTS}: ambiguous redirect

为什么?


慕后森
浏览 1963回答 3
3回答

达令说

Bash有时会非常迟钝。以下命令都返回不同的错误消息,基本上是相同的错误:$ echo hello >bash: syntax error near unexpected token `newline`$ echo hello > ${NONEXISTENT}bash: ${NONEXISTENT}: ambiguous redirect$ echo hello > "${NONEXISTENT}"bash: : No such file or directory在变量周围添加引号似乎是处理“模糊重定向”消息的好方法:当您输入错误时,您倾向于获得更好的消息 - 并且当错误是由文件名中的空格引起时,使用引号是修复。

凤凰求蛊

你有一个名字变量,OUPUT_RESULTS或者它更有可能OUTPUT_RESULTS吗?michael@isolde:~/junk$ ABC=junk.txtmichael@isolde:~/junk$ echo "Booger" > $ABCmichael@isolde:~/junk$ echo "Booger" >> $ABBbash: $ABB: ambiguous redirectmichael@isolde:~/junk$ 

胡说叔叔

在变量周围加上引号。如果碰巧有空格,它也会给你“模糊的重定向”。还检查你的拼写echo $AAAA"     "$DDDD"         "$MOL_TAG  >>  "${OUPUT_RESULTS}"例如模棱两可的重定向$ var="file with spaces"$ echo $AAAA"     "$DDDD"         "$MOL_TAG >> ${var}bash: ${var}: ambiguous redirect$ echo $AAAA"     "$DDDD"         "$MOL_TAG >> "${var}"$ cat file\ with\ spacesaaaa     dddd         mol_tag
打开App,查看更多内容
随时随地看视频慕课网APP