我在尝试移动文件时不小心运行了错误的 bash 脚本。所有以“Lisa”开头的文件夹都消失了并且没有移动。以下是错误脚本的大致内容。
folder_path = "/media/hdd/folder/"
Lisa = "/media/hdd/folder/folder1/Lisa/"
mv $folder_path Lisa* $Lisa
所有以 Lisa 开头的文件夹都消失了,我检查过,/media/hdd/folder/folder1/Lisa/
但它们不在那里。我假设它们已被删除,但df -h
在运行错误的脚本之前仍然报告相同的可用空间。
我找不到任何使用lsof
.文件夹被删除了还是别的什么?任何帮助将不胜感激。
答案1
您的语法存在一些问题,这会导致一些问题。在 bash 中(尽管我不确定这是否是您运行此脚本的方式),=
如果运算符周围有空格,则运算符不会执行赋值。也就是说,x=y
分配y
给x
,但x = y
比较x
和y
。由于您有空格,我将假设folder_path
和Lisa
均未设置(因为未执行任何分配)。
如果是这样的话,就行了mv
,$folder_path
并$Lisa
扩展为空字符串。所以,你基本上运行了这个:
mv Lisa*
这将扩展到当前工作目录中以“Lisa”开头的所有内容。根据其中的内容,这可能会执行一些不同的操作,包括覆盖、移动和重命名这些文件。