这个 shell 脚本正确吗?

Is this shell script correct?

我有一个这样的 shell script :

 sed -i '/^###########/,/^#End of Build.Prop/d' /system/build.prop;
 #
 sed -i '/^#Start Build.Prop Tweak/,/^#End of Build.Prop Tweak/d' /system/build.prop;
 #
 sed -i '/^#Start Build.Prop Tweak/,/^ro\.config\.hwfeature_wakeupkey=0/d' /system/build.prop;

上面提到的三个 Shell 命令中的 none 放在 sh 文件中时有效。但是,如果我使用 TerminalEmulator,则可以执行这三个脚本

我想在 Android 设备

中使用脚本

不行,太危险了
如果缺少结束搜索标记,您将删除文件的很大一部分。 当你想删除文件中的第一行和第二行时,它似乎工作正常:

$ cat test.txt
first line
second line
third line

$ cat test.txt | sed '/first/,/second/ d'
third line

编辑:sed '/first/,/second/ d' test.txt

少了一个命令

但是第二行找不到怎么办?
您的 sed 命令应该跳过删除行,但它会:

$ cat test.txt | sed '/first/,/mistake/ d'
$

编辑:sed '/first/,/mistake/ d' test.txt

少了一个命令

第一个匹配项的所有行都已删除!