3 回答
TA贡献1821条经验 获得超6个赞
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
在变量周围添加引号似乎是处理“模糊重定向”消息的好方法:当您输入错误时,您倾向于获得更好的消息 - 并且当错误是由文件名中的空格引起时,使用引号是修复。
TA贡献1825条经验 获得超4个赞
你有一个名字变量,OUPUT_RESULTS或者它更有可能OUTPUT_RESULTS吗?
michael@isolde:~/junk$ ABC=junk.txt
michael@isolde:~/junk$ echo "Booger" > $ABC
michael@isolde:~/junk$ echo "Booger" >> $ABB
bash: $ABB: ambiguous redirect
michael@isolde:~/junk$
TA贡献1804条经验 获得超8个赞
在变量周围加上引号。如果碰巧有空格,它也会给你“模糊的重定向”。还检查你的拼写
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\ spaces
aaaa dddd mol_tag
- 3 回答
- 0 关注
- 2074 浏览
添加回答
举报