首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >获取“歧义重定向”错误

获取“歧义重定向”错误
EN

Stack Overflow用户
提问于 2010-03-17 21:08:33
回答 6查看 349.8K关注 0票数 204

我的Bash脚本中的以下行

代码语言:javascript
复制
 echo $AAAA"     "$DDDD"         "$MOL_TAG  >>  ${OUPUT_RESULTS}

给我这个错误:

代码语言:javascript
复制
 line 46: ${OUPUT_RESULTS}: ambiguous redirect

为什么?

EN

回答 6

Stack Overflow用户

发布于 2010-03-17 21:14:29

用引号括起你的变量。如果它碰巧有空格,它也会给你“歧义重定向”。还要检查你的拼写

代码语言:javascript
复制
echo $AAAA"     "$DDDD"         "$MOL_TAG  >>  "${OUPUT_RESULTS}"

例如不明确的重定向

代码语言:javascript
复制
$ 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
票数 16
EN

Stack Overflow用户

发布于 2014-06-26 23:01:35

我最近发现,重定向文件名称中的空格会导致“歧义重定向”消息。

例如,如果您重定向到application$(date +%Y%m%d%k%M%S).log并指定了错误的格式字符,则重定向将在上午10点之前失败。但是,如果您使用application$(date +%Y%m%d%H%M%S).log,它将会成功。这是因为%k格式生成上午9点的' 9',而%H生成上午9点的'09'

echo $(date +%Y%m%d%k%M%S)给了20140626 95138

echo $(date +%Y%m%d%H%M%S)给了20140626095138

错误的日期可能如下所示:

代码语言:javascript
复制
echo "a" > myapp20140626 95138.log

其中,以下是所需的:

代码语言:javascript
复制
echo "a" > myapp20140626095138.log
票数 6
EN

Stack Overflow用户

发布于 2010-03-17 21:13:46

${OUPUT_RESULTS}中指定的路径是否包含任何空格字符?如果是这样,您可能需要考虑使用... >> "${OUPUT_RESULTS}" (使用引号)。

(您可能还想考虑将变量重命名为${OUTPUT_RESULTS})

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2462385

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档