请编写一个名为filebak.sh的脚本程序。程序功能如下:(30分) 1) 判断/tmp/bak目录是否存在,如果不存在则新建该目录;最后进入该目录; 2) 备份并压缩/etc目录的所有内容,且压缩文件的文件名为如:yymmdd_etc,yy为年,mm为月,dd为日
时间: 2024-02-26 17:59:20 浏览: 18
好的,以下是filebak.sh的脚本程序,实现上述功能:
```
#!/bin/bash
# 判断/tmp/bak目录是否存在,不存在则新建该目录
if [ ! -d "/tmp/bak" ]; then
mkdir /tmp/bak
fi
# 进入该目录
cd /tmp/bak
# 获取当前日期
DATE=$(date +%y%m%d)
# 备份并压缩/etc目录的所有内容,压缩文件名为yymmdd_etc
tar -zcvf $DATE\_etc.tar.gz /etc
echo "备份并压缩/etc目录完成!"
```
注意:
1. 请在Linux系统中执行该脚本程序。
2. 执行脚本程序前,请确保您有执行权限。如果没有权限,请使用 chmod +x filebak.sh 命令为该脚本程序添加执行权限。
3. 执行脚本程序后,备份文件将会存储在/tmp/bak目录中。
相关问题
./path.sh:行1:/DPSL/espnet/:是一个目录,这个报错怎么解决
这个报错提示是因为您在运行`path.sh`脚本时,`/DPSL/espnet/`路径是一个目录而不是一个可执行的脚本文件。有以下几种可能的原因:
1. `path.sh`脚本是一个目录而不是一个可执行的脚本文件;
2. `path.sh`脚本本身是可执行的,但是在脚本的第一行指定的路径`/DPSL/espnet/`是一个目录而不是一个可执行的脚本文件。
针对这个问题,您可以尝试以下几个解决方案:
1. 确认`path.sh`脚本是一个可执行的脚本文件
您可以使用以下命令来确认`path.sh`脚本是否是一个可执行的脚本文件:
```
ls -l path.sh
```
如果`path.sh`脚本的权限中包含`x`,则表示该脚本是可执行的。如果没有包含`x`,则可以使用以下命令添加可执行权限:
```
chmod +x path.sh
```
2. 检查`path.sh`脚本的第一行指定的路径是否正确
您可以打开`path.sh`脚本,检查第一行指定的路径是否正确。如果指定的是一个目录,您可以尝试修改为指定一个可执行的脚本文件的路径。
3. 确认`/DPSL/espnet/`路径下是否存在可执行的脚本文件
如果`path.sh`脚本的第一行指定的路径是正确的,但是该路径下确实是一个目录,那么您需要确认该目录下是否存在可执行的脚本文件。如果不存在,您可以尝试从其他地方获取该脚本文件并将其放置在该目录下。如果存在,您可以尝试使用该脚本文件的完整路径来运行脚本。
./script.sh: 行 6: /home/jjjfy/primer1: 是一个目录
这错误提示表明在第6行的脚本中,你尝试执行的命令 "/home/jjjfy/primer1" 实际上是一个目录,而不是可执行文件。请检查一下该目录下是否存在名为 "primer1" 的可执行文件,如果不存在,你需要先编译生成该文件。如果该文件存在,你需要确认一下你是否正确地指定了可执行文件的路径,例如是否缺少了可执行文件的文件名。