사용자가 입력한 내용을 확인하고 해당 값을 기반으로 파일에서 이를 바꾸는 스크립트를 만들고 있습니다.
지금까지 나는 (하지만 작동하지 않습니다) :
#!/bin/bash
read -p "Type your domain: " domain
sed -i -e /\$put\_your\_domain =/ s/= .*/= ${domain}/ /list_of_domains
echo cat list_of_domains | grep '$put_your_domain'
산출:
./t.sh
Type your domain: GOV
sed: -e expression #1, char 17: unterminated address regex
보시다시피 도메인을 어떤 도메인 유형으로든 교체하고 싶습니다. 예를 들어 다음과 같습니다.
$put_your_domain = JUS
$put_your_domain = GOV
"list_of_domains"에서 이를 교체 하고 마지막으로 에코하고 싶습니다 .
답변1
$ grep '$put_your_domain' list_of_domains
$put_your_domain = JUS
$ domain=GOV
$ sed -Ei 's/(\$put_your_domain = ).*/\1'"$domain"'/' list_of_domains
$ grep '$put_your_domain' list_of_domains
$put_your_domain = GOV
셸의 따옴표에 대해 알아보려면 다음을 참조하세요.https://mywiki.wooledge.org/Quotes.