机器学习和生物信息学实验室联盟

标题: linux shell 自定义回收站 [打印本页]

作者: xmubingo    时间: 2014-9-30 17:32
标题: linux shell 自定义回收站
本帖最后由 xmubingo 于 2014-9-30 17:37 编辑

上帝已经无法阻止我rm -rf 删除代码了。所以作为《一键备份代码》的续集,我写了一个shell,用来替换rm命令。


trash_path: 自定义的回收站地址
把文件或者文件夹放入回收站前加一个时间戳,防止重名的文件或者文件夹影响mv命令。

代码非常简单, 路径的末尾如果是/,将会被删掉,做法很stupid
  1. #!/bin/bash

  2. trash_path="/home/users/lixubin/.trash"
  3. test ! -d ${trash_path} && mkdir -p ${trash_path}

  4. for path_name in $*
  5. do
  6.     if [ ${path_name:-1} = "/" ];
  7.     then
  8.         ${path_name}=${path_name%/*}
  9.     fi
  10.     if [ -d ${path_name} ] || [ -f ${path_name} ];
  11.     then
  12.         file_name=`basename ${path_name}`
  13.         timestamp=`date "+%Y_%m_%d_%H_%M_%S"`
  14.         trash_path_name="${trash_path}/${timestamp}__${file_name}"
  15.         mv ${path_name} ${trash_path_name}
  16.         echo "Move to trash: ${trash_path_name}"
  17.     else
  18.         echo "${path_name} is not valid."
  19.     fi
  20. done
复制代码

作者: guojiasheng    时间: 2014-10-2 22:08
果然是大师兄,自叹不如。
作者: xmubingo    时间: 2014-10-6 23:35
guojiasheng 发表于 2014-10-2 22:08
果然是大师兄,自叹不如。


献丑献丑




欢迎光临 机器学习和生物信息学实验室联盟 (http://123.57.240.48/) Powered by Discuz! X3.2