避免rm的巨大伤害,使删除的东西在回收站
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了避免rm的巨大伤害,使删除的东西在回收站相关的知识,希望对你有一定的参考价值。
1.原因:
今天测试时不小心把家目录里的好多东西删掉了,辛亏有备份,写好的好多脚本才没有丢
本来定义的有别名
alias rm="mv -t /app/tmp" -t :调换 源 和 目的 的参数位置
可是在脚本里执行的rm 不支持别名,就删错了
2.思路:
1. 写一个脚本,名字是 rm ,把路径放在PATH的最前面
把 /app/tmp 当作是回收站
2. 删除 alias rm=“rm -i”
3.过程
1. 脚本
#!/bin/bash # ------------------------------------------ # Filename: rm # Date: 2017-09-15 # Revision: # Author: 木子甘 # stdentID:16 # Description: 避免rm的巨大伤害,使删除的东西在回收站 # ------------------------------------------ #检查有没有参数 f_args (){ [ $# -eq 0 ] &&{ echo "missing operand" ; return 1; } || return 0 } #检查文件是否存在 f_arg (){ [ -e $1 ] ||{ echo "cannot remove ‘b.sh’: No such file or directory"; return 1; } } #mv f_rm (){ mv -t /app/tmp $1 } #主程序 f_args [email protected] [ $? -ne 0 ] &&exit 1 while [ $# -ne 0 ] ; do f_arg $1 [ $? -ne 0 ] &&{ shift; continue; } f_rm $1 [ $? -ne 0 ] &&{ shift; continue; } shift done
2. 修改PATH变量
在/etc/profile.d/newvar.sh 里面写上
PATH=$HOME/bin:$PATH
4.测试
1.
[[email protected] ~/bin]# vim test.sh #!/bin/bash which rm bash -x rm /app/tmp/a.sh
2.命令行测试
[[email protected] ~/bin]# which rm /root/bin/rm
成功!!!
本文出自 “12410412” 博客,转载请与作者联系!
以上是关于避免rm的巨大伤害,使删除的东西在回收站的主要内容,如果未能解决你的问题,请参考以下文章
如何使 FAB 避免在 ViewPager 中移动,但又是其中的片段的一部分?