创建/root/filing.sh的脚本,要求使用case、完成以下功能 * 执行脚本时,传入一个位置参数,此参数为gzip、bzip2或者xz三者之一 # 参数为gzip时,归档压缩/etc目录至/backups目录中,并命名为etc-2020.tar.gz # 参数为bzip2,归档压缩/etc目录至/backups目录中,并命名为etc-2020.tar.bz2 # 参数为xz,归档压缩/etc目录至/backups目录中,并命名为etc-2020.tar.xz # 参数为其它任意值,则输出error
时间: 2024-02-13 15:05:33 浏览: 52
Filing_Your_Tax_Return.pdf.zip_人物传记/成功经验_PDF_
好的,按照您的要求,可以使用以下脚本实现:
```bash
#!/bin/bash
if [ $# -ne 1 ]; then
echo "Usage: $0 <gzip|bzip2|xz>"
exit 1
fi
case "$1" in
"gzip")
tar -czvf /backups/etc-2020.tar.gz /etc
;;
"bzip2")
tar -cjvf /backups/etc-2020.tar.bz2 /etc
;;
"xz")
tar -cJvf /backups/etc-2020.tar.xz /etc
;;
*)
echo "error"
exit 1
;;
esac
```
这个脚本会首先判断传入的位置参数数量是否为1,如果不是,则输出使用方法并退出。如果是,则根据传入的参数执行不同的操作:
- 如果参数为 "gzip",则使用tar命令将/etc目录归档为/etc-2020.tar.gz文件并压缩,保存至/backups目录中;
- 如果参数为 "bzip2",则使用tar命令将/etc目录归档为/etc-2020.tar.bz2文件并压缩,保存至/backups目录中;
- 如果参数为 "xz",则使用tar命令将/etc目录归档为/etc-2020.tar.xz文件并压缩,保存至/backups目录中;
- 如果参数为其它任意值,则输出错误信息并退出。
您可以将以上代码保存到/root/filing.sh文件中,然后在命令行中执行该脚本并传入参数来测试它的功能。
阅读全文