发出此命令时:
sed -i 's/"ExecStart=-/sbin/agetty --noclear %I $TERM"/"ExecStart=-/sbin/agetty --noclear -a root %I $TERM"/g' /lib/systemd/system/getty@.service
或
sed -i s/"ExecStart=-/sbin/agetty --noclear %I $TERM"/"ExecStart=-/sbin/agetty --noclear -a root %I $TERM"/g /lib/systemd/system/getty@.service
或
sed -i s/'ExecStart=-/sbin/agetty --noclear %I $TERM'/'ExecStart=-/sbin/agetty --noclear -a root %I $TERM'/g /lib/systemd/system/getty@.service
我收到以下错误:
sed -i 's/"ExecStart=-/sbin/agetty --noclear %I $TERM"/"ExecStart=-/sbin/agetty --noclear -a root %I $TERM"/g' /lib/systemd/system/getty@.service
sed: -e expression #1, char 21: unknown option to `s'
我在这里做错了什么?
最佳答案
sed -i "s#ExecStart=-/sbin/agetty --noclear %I $TERM#ExecStart=-/sbin/agetty --noclear -a root %I $TERM#g" /lib/systemd/system/getty@.service
上面这行应该可以了,试一试吧!
您的问题:
- 应该采用这种格式:
"s/foo$var1/bar$var2/g"
- 如果模式/替换也有斜杠,您必须转义
s/../../
斜杠或使用其他分隔符。
关于linux - Sed 语句不工作 Linux Raspbian,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41227308/