sed 를 사용 하여 아파치 의 기본 파일 을 복사하고 새 파일을 작성하여 /var/www
( $DOC_ROOT
아래) 내 디렉토리로 바꾸는 스크립트를 작성하려고합니다 $NEW_SITES_DIR
. 그러나 sed가 sudo에서 올바르게 실행되지 않습니다 . 다음에 대해 "permission denied" 오류가 발생합니다.
sudo sed -ie 's:$DOC_ROOT:$NEW_SITES_DIR:g' < default > $NEW_SITE
sudo sh -c "sed -ie 's:$DOC_ROOT:$NEW_SITES_DIR:g' < default > $NEW_SITE"
티를 사용
sudo sed -ie 's:$DOC_ROOT:$NEW_SITES_DIR:g' < default | sudo tee $NEW_SITE
그러나 대신 "입력 파일 없음" 오류가 발생합니다.
내가 쓴 마지막 두 번의 시도는 약간 벗어났다고 확신합니다. 어떤 제안이라도 대단히 감사하겠습니다.
대답
도와 주셔서 감사합니다. 정확한 명령은 다음과 같습니다.
sudo sed -e "s:$DEF_SITES_DIR:$NEW_SITES_DIR:g" < $DEF_SITE | sudo tee $NEW_SITE
이것을 잠들지 말고 언젠가는 편리 할 것이며, 명령에서 ">"다음에 "스도"가 적용되지 않는 이유를 알아낼 수있을 때 티를 기억하고 여기로 돌아 오십시오.