首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法将stdout重定向到完全路径指定的文件。

无法将stdout重定向到完全路径指定的文件。
EN

Stack Overflow用户
提问于 2015-07-04 15:35:15
回答 1查看 343关注 0票数 0

代码语言:javascript
运行
复制
CONFIG_FILE=${WWW_DIR}/${WORDPRESS_TEST_DIR}/wp-config.php

这个不工作

代码语言:javascript
运行
复制
sed "${SED_ARG}" ${CONFIG_FILE} >| ${CONFIG_FILE}

(我得到的只是一个空文件)。当我用实际的路径字符串替换变量时,或者当我用“”来转义路径时,它都不能工作。

这个执行的工作:

代码语言:javascript
运行
复制
sed "${SED_ARG}" ${CONFIG_FILE} >| wp-config.php
mv wp-config.php ${CONFIG_FILE}

因此,我假设sed调用工作得很好。

奇怪的是,这个也执行的工作:

代码语言:javascript
运行
复制
echo TEST >| ${CONFIG_FILE}

因此,sed部分毕竟可能是问题所在。我毫无头绪。有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2015-07-04 15:40:37

重定向打开文件,以便在执行sed命令之前写入(而不是附加),这使它成为一个新的空文件。

您可以使用sed的-i标志来执行就地替换:

代码语言:javascript
运行
复制
sed -I "${SED_ARG}" "${CONFIG_FILE}"

我还在${CONFIG_FILE}周围加上引号,以避免包含任何特殊字符的意外行为。

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

https://stackoverflow.com/questions/31222345

复制
相关文章

相似问题

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