让
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
部分可能就是问题所在。我很无能为力。有什么想法吗?
答案 0 :(得分:0)
重定向打开文件以进行写入(不附加),这使得它成为新的空文件,然后执行sed
命令。
您可以使用sed的-i
标志来进行就地替换:
sed -I "${SED_ARG}" "${CONFIG_FILE}"
我还在${CONFIG_FILE}
附近加上引号,以避免出现意外行为(如果它包含任何特殊字符)。