Mv
你能用一系列 mv 命令反轉 bash 腳本嗎?
如果我有一個腳本 rename_everything.sh 包含
mv 2022-05-03.txt hike_valley.txt mv 2022-05-20.txt not_overcooked.txt mv 2022-05-22.txt return_trip.txt
但是很緊張在一個文件夾中執行它
bash rename_everything.sh
如果我決定這樣做,然後認為這是一個壞主意併後悔,那麼該 .sh 文件是否可以以完全相反的方式呼叫?
一般來說,沒有撤消的命令
mv 2022-05-03.txt hike_valley.txt
。乍一看
mv hike_valley.txt 2022-05-03.txt
似乎是這樣的“撤消”命令。但是想像一個正常文件hike_valley.txt
已經存在並被第一個命令*覆蓋。*它的原始內容不容易恢復。可以肯定的是,所謂的“撤消”命令不會恢復原始內容。另一種情況是 if
hike_valley.txt
是目錄(可能是)或目錄的符號連結。在這種情況下,第一個命令會創建或覆蓋hike_valley.txt/2022-05-03.txt
. 這裡所謂的“撤消”mv hike_valley.txt/2022-05-03.txt ./
已經不同於上面的“撤消”。如果發生覆蓋,它並沒有真正撤消。相同的推理適用
mv
於腳本中的每個命令。