我想使用 bash 脚本插入一大段代码。
这就是我使用 sed(1) 让它工作的方式;
$ sed "/);/i\
\ \ \ \ 'doctrine' => array(\n\
'driver' => array(\n\
__NAMESPACE__ . '_driver' => array(\n\
'class' => 'Doctrine\ORM\Mapping\Driver\AnnotationDriver',\n\
'cache' => 'array',\n\
'paths' => array(__DIR__ . '\../src/' . __NAMESPACE__ . '/Entity')\n\
),\n\
'orm_default' => array(\n\
'drivers' => array(\n\
__NAMESPACE__ . '\Entity' => __NAMESPACE__ . '_driver'\n\
)\n\
)\n\
)\n\
),\n
" config/autoload/local.php;
注意:我必须在每行末尾添加 \n 和 \ 才能使其正常工作。
有没有办法“不”必须这样做?插入纯文本?也许是一个不同的命令?
编辑:我的问题是如何插入文本而不必添加所有反斜杠和换行符。
这是我需要插入的文本:
'doctrine' => array( 'driver' => array( __NAMESPACE__ . '_driver' => array( 'class' => 'Doctrine\ORM\Mapping\Driver\AnnotationDriver', 'cache' => 'array', 'paths' => array(__DIR__ . '/../src/' . __NAMESPACE__ . '/Entity') ), 'orm_default' => array( 'drivers' => array( __NAMESPACE__ . '\Entity' => __NAMESPACE__ . '_driver' ) ) ) )