【发布时间】:2020-01-31 17:57:45
【问题描述】:
我有这个命令:
salt=123
sed -i '' "s,\/\* Replace with salts \*\/,$salt,g" ./wp-config.php
如果我在包含该行的文件上运行它会很好:
/* Replace with salts */
但如果我将salt 分配给以下多行,单引号:
define('AUTH_KEY', 'oT0.1IG0ajXBDk.uCy?T@d?L.LgK|D3fz={VCq/IdP0fy.ZrI~WuM-9+5:-/DyPj');
define('SECURE_AUTH_KEY', '0PO8Zgs:g(CFkwFuIKy/[2[Kb|~BO@#+[WrmHZ dE8&u{LcPA.7P$OrH:% 7Bf=G');
define('LOGGED_IN_KEY', 'xPG6BW$d~~[!lL,e<r z~nlo}(~k^b?G`0.m!54rrRggaDbk%a7c(IRzBTx&MUUy');
define('NONCE_KEY', 'J#+Rn;lgjVzjW&X^hj/wi53Y/!B_[UClk1[H:?h6Je|$?dHSb`<n-f**RtNJl;,d');
define('AUTH_SALT', '>ho*kxR)1M4t)zni|tpDY.wn!>|Z-sVoULi(bY|0NQu/|G-2gAq=A;$3I%|`}kNb');
define('SECURE_AUTH_SALT', '--d5e0/8%^@Yg+3r UFAB`e-hR,;iMr.X]SOn-b~nU+aH[i5_gy]%hE<8V5LqQv1');
define('LOGGED_IN_SALT', 'k;J.$+/3)k0fU]nJ7Dtbh)a!Nr[/2m<uZNO+(:AGu!(B+cVeiXM,]ePdwRn-$~O-');
define('NONCE_SALT', ':)M$l+-U,QqCFm>8yPa5rIu9nQ<%i4?[.&PY|X&ta-MTpBp#&z+0i?|#~`%P~7,c');
我收到以下错误:
sed: 1: "s,\/\* Replace with sal ...": bad flag in substitute command: '''
有没有一种方法可以完全摆脱 salt 变量的内容,然后进行彻底的替换?
Others recommend using double quotes,但我想我已经这样做了?
【问题讨论】:
-
哦,所以你的意思是你想把这么多内容放到一个变量
salt这里?那么这就意味着我们需要用这些多行来替换一个字符串? -
@RavinderSingh13 是的,完全正确
-
问题不是单引号,而是替换字符串中的逗号。
-
也许我根本不应该使用
sed... -
和
&在替换字符串中。