簡體   English   中英

用bash將變量放入sed

[英]put variable into sed with bash

我嘗試在bashsed中使用變量

我有這個代碼:

read -p "Repertoire destination: " REP
echo $REP

sed -i 's/\$app\[\"bundle.root\"\] = \"\/var\/www\/\"\;/\$app\[\"bundle.root\"] = \"'$REP'\"\;/'  /home/martialp/Documents/default.php

echo "Modification terminé"

我使用像'$ REP'這樣的簡單引號,但出現此錯誤:

sed: -e expression n°1, caractère 80: option inconnue pour `s'

您的麻煩可能是$REP包含斜杠,但是您使用/分隔正則表達式。 最簡單的解決方法是使用其他一些字符來分隔正則表達式,也許是%

sed -i 's%\$app\[\"bundle.root\"\] = \"\/var\/www\/\"\;%\$app\[\"bundle.root\"] = \"'$REP'\"\;%'  /home/martialp/Documents/default.php

您可以使用命令中不會出現的任何字符。 例如, Control-A效果很好,不太可能出現在$REP

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM