好久没写博了
哈哈,最近在学习Linux
这是偶写的第一个shell脚本,是一个实现类似windows里的回收站的程序,可以避免误删文件,希望能够对大家有所帮助,当然自己练手是最重要的,呵呵
#!/bin/bash
alias rm=trash
alias urm=untrash
alias vtr=viewtrash
alias ctr=cleartrash
common_error_msg="failed, check the ~/.trash directory manul"
trash()
{
pwd=`pwd`
#get all command line params into array $params
#and all files into array $files
i=0
j=0
unset params
unset files
params={}
files={}
while [ $# -gt 0 ]
do
p="$1"
if [ "${p:0:1}" == "-" ]
then
params[$i]=$p
let i=i+1
else
files[$j]=$p
let j=j+1
fi
shift
done
#
file_params=${files[*]}
file_param_str=${file_params[0]}
rmdate=`date "+%Y-%m-%d_%H-%M-%S"`
mkdir ~/.trash/$rmdate
mv $file_param_str ~/.trash/$rmdate/
}
untrash()
{
mv ~/.trash/$rmdate/* $pwd/
if [ $? == 0 ]
then
rmdir ~/.trash/$rmdate
if [ $? != 0 ]
then
echo "trashed but remove old directory $common_error_msg"
fi
else
echo "untrash $common_error_msg"
fi
}
cleartrash()
{
unalias rm
`rm -rf ~/.trash/*`
if test $? != 0
then
echo "clear trash $common_error_msg"
fi
alias rm=trash
}
viewtrash()
{
ls ~/.trash/*
if test $? != 0
then
echo "trash empty"
fi
unset ret
}
使用的方法是
在$HOME里新建一个.trash目录
先在这个文件放在$HOME里,文件名是.rm
在~/.bashrc最好添加以后代码
. ~/.rm
分享到:
相关推荐
这个是官方的bash源代码,如果想要深入研究的可以下载下来看看,包括了所有shell常见功能,比如通配符、自动补全、别名、变量等等,当然最基本的管道和输入输出重定向也实现了。 需要在linux环境下编译运行。
mo - 用纯bash实现的Mustache 模板
用Bash编写漂亮的命令行程序
AIX系统上安装BASH程序
实现一个简单的bash,希望给大家有所帮助。。
bash的windows本地实现,不需CygWin支持。结合我上传的UnxUtils使用,非常方便哦。
用bash编写的命令行应用程序,可帮助您跟踪日常任务,待办事项,提醒
本程序为本人练习bash script所编写。主要实现的功能如下: 1.按学号查询学生成绩信息 2.添加学生成绩信息 3.删除学生成绩信息 4.修改学生成绩信息 5.使用函数分别判断输入的姓名、学号、成绩是否符合要求 6.对...
linux bash shell 实现源码
bash官方手册/Bash Reference Manual
Bash API文档。Bash是GNU操作系统的外壳程序或命令语言解释器。当前,它几乎可以在Unix的每个版本和其他一些操作系统上运行-MS-DOS,OS / 2和Windows平台存在独立支持的端口。
BASH官方文档,BASH官方文档,BASH官方文档
bash 编程bash 编程bash 编程bash 编程bash 编程bash 编程bash 编程bash 编程bash 编程bash 编程
如果您有一个具有安装程序脚本的bash应用程序/脚本,并且在github上托管该项目,则该脚本可以自动更新。
RHCERHCE bash RHCE bash RHCE bash RHCE bash RHCE bash RHCE bash RHCE bash bash
bash 入门经典 不可不看哦 bash 入门经典 不可不看哦 bash 入门经典 不可不看哦
Bash脚本编写中遇到的问题 Bash脚本编写中遇到的问题
官方的bash手册 讲述bash脚本语法规范 和linux相关配置 很好的资料
鉴于目前绝大部分服务器因为没有注册的yum或者因不通外网等问题导致无法使用yum update -y bash 命令进行漏洞修复,如采用RPM包升级修复漏洞又存在各服务器系统有的是32位有的是64位或者bash的版本不一样导致需要...
《学习 bash 第二版(英文版)》.chm,作者:Cameron Newbam & Bill Rosenblatt。本书中文版下载地址:http://download.csdn.net/source/2244004。bash 是自由软件基金会发布的“Bourne Again Shell”的缩写。它是...