使用sed为travis构建配置文件

时间:2013-11-23 12:08:38

标签: shell sed travis-ci

我正在尝试通过在末尾添加一个条目来更改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

达到目的的正确引用/转义是什么?

1 个答案:

答案 0 :(得分:1)

您似乎有引用问题。我会尝试这样的事情:

sh -c '
  if [ "$DB" = "sqlite" ]; then
    sed -i "s/\?>/\$config[\'db\'][\'path\'] = \'sqlite.db3\';\n?>/" etc/volkszaehler.conf.php
  fi'

如果系统支持,我还会移除sh -c和最外面的引号。