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