为什么使用两个变量时sed失败?

时间:2019-03-05 14:32:05

标签: bash shell sed

sed失败,并出现以下错误:

sed: -e expression #1, char 72: unterminated `s' command

这是我的剧本:

#!/bin/bash
OLD="$(cat /etc/fstab | grep /tmp)"
NEW="$(cat /etc/fstab | grep /tmp | sed 's/,noexec//')"
sed "s|$OLD|$NEW|" /etc/fstab

我看不出它是如何终止的,我有3个|符号作为分隔符,并且由于语句中有变量,所以使用了双引号。

我在堆栈溢出和其他类似的博客上读了很多其他问题,但没有一个使用两个这样的变量。

编辑以显示fstab:

LABEL=/boot    /boot    xfs    defaults,nodev,nosuid,noexec    1    2
/dev/mapper/LV_tmp    /tmp    xfs    nodev,noexec    1    2
proc    /proc    proc    defaults    0    0

0 个答案:

没有答案