Claude 太好用了,Mac也是。它俩结合简直完美!
在今天这件事出现之前,我还是这么想的。
今天看到Claude说,有一行命令它自己执行不了,需要我自己去终端里执行下:
npm run build && rsync -avz --delete dist/ root@.../dist/ & rsync -ayz --delete api/root@47.116.111.153:/my-blog-api/ --exclude node_modules --exclude .env
我也没多想啊,然后就扔mac终端里运行了。
但是感觉这次就怪怪的,显示了好几行Deleting开头的日志,最后报了个zsh的错。
感觉有点不太对劲,打开项目文件,看到了恐怖的一幕。
主要的项目文件基本全无了。
顿时头大不说,还百思不得其解,莫非Claude把我坑了?
我转过去质疑它,但我又核对了一遍命令,没问题啊。
于是我把日志发给了它。
…于是就出现了令人非常无语的一幕。
Claude说命令被换行符截断了,第一行命令被执行了,第二行命令没被执行。
第一行:
npm run build && rsync -avz --delete dist/ root@.../dist/ & rsync -ayz --delete api/
第二行:
root@47.116.111.153:/my-blog-api/ --exclude node_modules --exclude .env
我相信你看到第一行末尾那个delete也是心里一惊。
然而自信的我没有加备份,没有git,没有开磁盘回复。
就这样绝望地看着屏幕…
解决方案有三:
- 磁盘恢复,在海量垃圾里找回有用的
- 根据服务器上的网页,逆向回来
- 打几把原神
权衡时间和成本,最终选择了第二个方案,把我的博客救了回来。
不过话说回来,这种情况是真没法防啊!谁会想到复制的命令里有换行符?而且新旧终端的大小一样,复制进去也看不出来…
所以还是要做好备份,总有第二关在等你。
评论
支持 Markdown 与 LaTeX($形式)。
评论区暂时不可用。