bashとsedを使用して、カッコをエスケープする文字列に問題があります。bash/sedでカッコをエスケープする
は、ここで私がやっているものです:
#!/bin/bash
olddescription='(1 phrase/line)'
newdescription="\"$volledigenaam\""
(cd /home/hew/git/odoo/addons/$technischenaam ; sed -i s/$olddescription/$newdescription/g __openerp__.py)
私は単一引用符を使用している場合、私は括弧をエスケープする必要がないことを読みました。 また、バックスラッシュで括弧をエスケープしようとしましたが、どちらもうまくいきませんでした。
これはエラーです:
sed: -e expression #1, char 4: unterminated `s' command
これを解決する方法上の任意のアイデア?
を単一引用符は、変数値の一部ではないので、中に何の効果もありませんsedコマンド。最初に "set -x"を追加すると、物事がどのように展開されるのかがわかるはずです。 –
BTW、[BashFAQ#21](http://mywiki.wooledge.org/BashFAQ/021)はあなたがここで何をしようとしているのかを知っています。そこに定義されている 'gsub_literal'を参照してください。 –