Sed は結果を変数に保存できません。

Sed は結果を変数に保存できません。

このコマンドを入力しようとすると、結果の値は次のようになります。

sed "s/\$ip/${ip}/g" xdebug.conf

この記事で提供xdebug.conf:

zend_extension = xdebug.so
xdebug.remote_enable = 1
xdebug.remote_host = $ip
xdebug.remote_port = 9091
xdebug.max_nesting_level = 1000
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_autostart=true
xdebug.remote_log=xdebug.log

という変数に$conmfiguration

これを達成するために、以下を試してください。

ip="125.12.22.1"
$configuration=$(sed "s/\$ip/${ip}/g" xdebug.conf)

ただし、次のような奇妙な結果が表示されます。

=zend_extension: コマンドが見つかりません

なぜこれが起こるのか知っていますか?

ベストアンサー1

ここでは、

$configuration=$(sed "s/\$ip/${ip}/g" xdebug.conf)

どちらも$configuration拡張され$(sed ...)ました。変数が空の場合は、次のようになります。

=zend_extension = xdebug.so ...

最初の単語はコマンドとして扱われ、残りの単語は引数として扱われます。シェルは検索しようとし、失敗し、文句を言い=zend_extensionます。

$課題の左側から削除すると、課題が機能します。この出力は次foo barのようになります。

var=$(echo foo bar)
echo $var

おすすめ記事