이것은 내 run.sh 파일입니다.
#!/bin/sh
before=$(cat <<EOF
require SYSPATH.'core/Bootstrap'.EXT;
EOF
)
after=$(cat <<EOF
if(strpos($_SERVER['SCRIPT_NAME'], 'phpunit'){
sometext # <= without it works fine!
EOF
)
sed -i.bak "s|$before|$after|g" "$2"
실수
sed: -e 표현식 #1, 문자 79: 종료되지 않은 's' 명령
잘 작동하지만 여러 줄의 텍스트를 바꾸고 싶습니다!
#!/bin/sh
before=$(cat <<EOF
require SYSPATH.'core/Bootstrap'.EXT;
EOF
)
after=$(cat <<EOF
if(strpos($_SERVER['SCRIPT_NAME'], 'phpunit'){
EOF
)
sed -i.bak "s|$before|$after|g" "$2"
답변1
이로 인해 문제가 해결되었습니다.
if(strpos($_SERVER['SCRIPT_NAME'], 'phpunit'){ \n \ # <= BACKSLASH needed!
sometext