명령줄에서 아래 쉘 스크립트를 실행하면 복사된 파일이 화면에 출력되고 교체가 올바르게 수행된 것을 볼 수 있지만 생성된 새 파일에서는 여전히 원본 파일의 원본 파일 내용이 표시됩니다. . html - 새 파일에 측면을 저장할 때 내가 뭘 잘못하고 있는 걸까요?
# other relevant vars above #
cp original.html MobileApp/www/index.html
sed -E'' "s#MOBILE_APP_API_URL#\"$mobile_app_api_url\"#g;
s#MOBILE_APP_MEDIA_URL#\"$mobile_app_media_url\"#g;
s#MOBILE_APP_ENVIRONMENT#\"$environment\"#g" MobileApp/www/index.html
// 줄 시작 부분에 sed -i를 사용하면 예상대로 작동하지만 이식성 때문에 -i 매개변수를 사용하고 싶지 않습니다.
답변1
이 경우 나는 선택할 것입니다
sed -E -e "s#MOBILE_APP_API_URL#\"$mobile_app_api_url\"#g" \
-e "s#MOBILE_APP_MEDIA_URL#\"$mobile_app_media_url\"#g" \
-e "s#MOBILE_APP_ENVIRONMENT#\"$environment\"#g" \
original.html >MobileApp/www/index.html
이 -E
플래그는 인수를 사용하지 않으며 여러 -e
섹션을 사용하여 명령줄을 읽을 수 있는 덩어리로 나눌 수 있습니다.
cp
소스 파일을 처리하고 리디렉션을 사용하여 대상 파일에 직접 쓰기 때문에 이 과정을 완전히 건너뛸 수 있습니다 .