让
CONFIG_FILE=${WWW_DIR}/${WORDPRESS_TEST_DIR}/wp-config.php这个不工作:
sed "${SED_ARG}" ${CONFIG_FILE} >| ${CONFIG_FILE}(我得到的只是一个空文件)。当我用实际的路径字符串替换变量时,或者当我用“”来转义路径时,它都不能工作。
这个执行的工作:
sed "${SED_ARG}" ${CONFIG_FILE} >| wp-config.php
mv wp-config.php ${CONFIG_FILE}因此,我假设sed调用工作得很好。
奇怪的是,这个也执行的工作:
echo TEST >| ${CONFIG_FILE}因此,sed部分毕竟可能是问题所在。我毫无头绪。有什么想法吗?
发布于 2015-07-04 15:40:37
重定向打开文件,以便在执行sed命令之前写入(而不是附加),这使它成为一个新的空文件。
您可以使用sed的-i标志来执行就地替换:
sed -I "${SED_ARG}" "${CONFIG_FILE}"我还在${CONFIG_FILE}周围加上引号,以避免包含任何特殊字符的意外行为。
https://stackoverflow.com/questions/31222345
复制相似问题