请执行命令
# CREATE TRASH FOLDER
if ! [ -d "$HOME/deleted" ] ; then
mkdir $HOME/deleted
fi
TRASH=$HOME/deleted
mv $@ $TRASH
将文件或目录移动到创建的废纸篓。我可以运行什么命令将同一文件恢复到原始目录
答案 0 :(得分:0)
如果您创建这样的已删除目录,您可能会遇到一些意外行为。例如:
rm_script test.txt
cd ../other_directory
rm_script test.txt
将创建一个文件test.txt,其内容为other_dir
中的内容。启动rm_scripting /移动目录时更有趣。
了解这一点,并再次引用垃圾cli(参见评论Aserre),您可能会:
if ! [ -d "$HOME/deleted" ] ; then
echo "What a pity! No deleted directory."
echo "Your file(s) is/are lost forever!"
exit 361
fi
TRASH=$HOME/deleted
for file in $@ ; do
if [ -f "$TRASH/$file" ] ; then
cp "$TRASH/$file" .
else
echo "Hmm,.. I cannot find $file."
fi
done
这也可能会产生一些不必要的结果,例如从一个目录中删除文件并在另一个目录中取消删除它。
答案 1 :(得分:-2)
我只是执行相同命令行的反向
function undo () {
echo -n "Do you want to recover $*? "
read ANSWER
if [ "$ANSWER" = "y" ]; then
mv $TRASH/$@ $PWD
echo "$@ successfully recovered"
else
echo "Oops, request denied"
fi
}