如果我有一个脚本 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 文件是否可以以完全相反的方式调用?
如果我有一个脚本 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
于脚本中的每个命令。