我正在尝试通过在末尾添加一个条目来更改php配置文件,以通过添加sqlite文件路径来允许travis构建:
sh -c "if [ '$DB' = 'sqlite' ]; then sed -i "s/\?>/\$config['db']['path'] = 'sqlite.db3';\n?>/" etc/volkszaehler.conf.php; fi;"
应该导致配置文件结束如下:
<?php
//.. various other options
$config['db']['path'] = 'sqlite.db3';
?>
相反,继续遇到shell错误:
/home/travis/build.sh: line 222: /$config[db][path]: Permission denied
或关于cygwin:
sh: / etc/volkszaehler.conf.php; fi;: No such file or directory
达到目的的正确引用/转义是什么?
答案 0 :(得分:1)
您似乎有引用问题。我会尝试这样的事情:
sh -c '
if [ "$DB" = "sqlite" ]; then
sed -i "s/\?>/\$config[\'db\'][\'path\'] = \'sqlite.db3\';\n?>/" etc/volkszaehler.conf.php
fi'
如果系统支持,我还会移除sh -c
和最外面的引号。