gpt4 book ai didi

bash - 捕获 "rm: fts_read: No such file or directory"错误并继续

转载 作者:行者123 更新时间:2023-12-03 19:33:27 24 4
gpt4 key购买 nike

我把我的 Macbook 弄得一团糟。我将一些 Time Machine 备份从我的外部驱动器移到了 Trash并很快意识到这是一个可怕的错误。我不能把它们放回去,也不能删除它们。到目前为止,我一直在运行 rm带有一个名为 bypass 的辅助函数这让我可以绕过 Apple 对删除备份的保护。

无论如何,我有一个命令

sudo /System/Library/Extensions/TMSafetyNet.kext/Contents/Helpers/bypass rm -rfv /Volumes/*/.Trashes

为简洁起见,可以将其称为
sudo bypass rm -rfv /Volumes/*/.Trashes

不断被 rm: fts_read: No such file or directory 随机打断.我认为 fts_read 本质上是一个 UNIX 内核函数,它进入文件空间并在非常冗长的递归过程中作为文件被读取 rm调用。所以我要赶 fts_read并重新启动我的 sudo bypass rm -rfv /Volumes/*/.Trashes .我不太了解 bash,但这里有一些我的想法的伪代码:
try:
sudo bypass rm -rfv /Volumes/*/.Trashes
except 'rm: fts_read: No such file or directory':
sudo bypass rm -rfv /Volumes/*/.Trashes

基本上现在我每次收到错误时都会手动重新启动命令,但是这个过程需要几十个小时,所以如果它可以自己重新启动就好了。

最佳答案

一种可能的选择可能是需要前一个命令失败的 while 循环?例子:

counter=0
cd "not a real place" #get the initial error code
while [[ $? -ne 0 ]]; do
echo 'words'
(( counter++ ))
(( counter > 10 ))
done

这将一直持续到 (( counter > 10 ))返回 0,即计算结果为 true。您应该能够对您的命令执行类似的操作:
sudo bypass rm -rfv /Volumes/*/.Trashes
while [[ $? -ne 0 ]]; do
sudo bypass rm -rfv /Volumes/*/.Trashes
done

我怀疑这是一个很好的解决方案,但它是一个解决方案。

关于bash - 捕获 "rm: fts_read: No such file or directory"错误并继续,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51921976/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com