ユーザーが入力した内容を確認し、その値に基づいてファイルからそれを置き換えるスクリプトを作成しています。
これまで私は(しかし動作しません):
#!/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。