今天在mac 上执行了一个脚本,然后报错了,最后我定位了一下,发现是执行sed 命令对文件进行修改的时候报出来的,也就是下面的这句
sed -i '1d' "${file}"
然后查了一下原因,就是牛逼的mac 强制要求备份,否则报错,因为这里是对源文件进行修改的,所以它要求你进行备份,进行如下修改就可以了,这源文件就被备份成了 “${file}”.bak,当然可以不使用其他备份名字
sed -i '.bak' '1d' "${file}"
但是哥就不想备份,怎么办,哈哈,只要要让修改之后的文件和备份文件同名,然后就覆盖掉了,我真是个机智的小天才,也就是下面这样
sed -i '' '1d' "${file}"