#!/bin/bash touch 'a.bak' 'b.bak' # for test purpose case $# in 0) DIR='.' ;;

  1. test ! -d $1 && echo '$1 is not a directory!' && exit 1; DIR=$1 ;; ) echo 'Usage: $0 [directory name]'; exit 1 ;; esac rm -i $DIR/.bak exit 0

这个程序是一个简单的 Shell 脚本,用于删除指定目录下的所有以 '.bak' 结尾的文件。程序的主要逻辑如下:

  1. 首先使用 touch 命令创建两个以 '.bak' 结尾的文件,用于测试程序的正确性。

  2. 使用 case 语句判断命令行参数的个数,如果没有参数则默认为当前目录,如果有一个参数则判断该参数是否为目录,如果不是目录则输出错误信息并退出,如果有多个参数则输出使用方法并退出。

  3. 使用 rm 命令删除指定目录下的所有以 '.bak' 结尾的文件,使用 -i 选项提示用户确认删除操作。

  4. 使用 exit 命令退出程序,返回 0 表示程序执行成功。

总体来说,这个程序比较简单,主要用于演示一些基本的 Shell 编程语法和命令的使用。

Shell 脚本:删除指定目录下所有 .bak 文件

原文地址: https://www.cveoy.top/t/topic/jjQj 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录