Bash 스크립트에서 명령을 실행하려고 합니다.$(비밀번호)전혀 설명되지 않았으며 eval도 사용되지 않았습니다.
이것은 작동하지 않습니다:
cat apache-vhost.conf | sed 's/{path}/$(pwd)/g'
이것도 마찬가지입니다:
eval cat apache-vhost.conf | sed 's/{path}/$(pwd)/g'
이 문제를 어떻게 해결하나요?
답변1
변수 확장을 방지하기 위해 표현식에 작은따옴표를 사용하고 있습니다 sed
. 큰따옴표를 사용하세요. 또한 다음과 다른 구분 기호를 사용하십시오 /
.
sed "s|{path}|$(pwd)|g" apache-vhost.conf
게다가 cat file | sed
사용해도 소용이 없습니다 cat
.