该脚本应提供包含以下选项的菜单:
● 创建脚本文件的备份副本。
- 备份副本的名称应在脚本名称后有备份,并带有日期戳,例如 Ass3Script_backup_10_11_2015。
- 应该使用您的主目录的环境变量将其保存到您的主目录。
- 脚本应该错误地检查文件是否存在并且是否是正常文件。如果不是,那么脚本应该允许用户重新输入文件名,直到输入有效的文件名为止
● 创建带有日期戳的日志文件,例如名为log_file_10_11_2015,其中包含:
- 登录系统的人员列表,
- 磁盘使用情况和
- 您当前正在运行的进程。
- 该文件应保存到名为 log_dir 的现有目录中,该目录应位于您的主目录之外
● 创建文件的副本。
- 该文件应该位于你的当前目录中(文件的名称由用户指定)
- 用户指定的目标目录名称。
- 脚本应该错误地检查文件是否存在并且是否是正常文件。如果情况并非如此,那么脚本应该允许用户重新输入文件名,直到输入有效的文件名为止。
- 脚本应该检查目标目录是否存在。如果不存在,则脚本应该允许用户重新输入目标目录,直到输入有效的目录。
● 移动当前目录中文件的位置(名称和目标由用户指定)
- 脚本应该错误地检查文件是否存在并且是否是正常文件。如果情况并非如此,那么脚本应该允许用户重新输入文件名,直到输入有效的文件名为止。
- 脚本应该检查目标目录是否存在。如果不存在,则脚本应该允许用户重新输入目标目录,直到输入有效的目录。
● 该脚本应不断循环,直到用户选择退出。
答案1
我不会写出整个答案,但你需要的部分来自这个答案:
Bash 脚本(已更新)片段:
# Running under WSL (Windows Subsystem for Ubuntu)?
if cat /proc/version | grep Microsoft; then
Distro="WSL"
else
Distro="Ubuntu"
fi
today=$( date +%Y-%m-%d-%A )
/mnt/e/bin/daily-backup.sh Daily-$(hostname)-$Distro-backup-$today
上述代码生成的文件名为:
Daily-alien-Ubuntu-16.04-Backup-2018-11-29-Thursday.tar.gz.64
在哪里:
$(hostname)
生产alien
(如果您想知道的话,针对 AW17R3)。$Distro
产生Ubuntu
(当不在 Windows 10 下运行时)。$(lsb_release -sr)
生产16.04
$Today
生产2018-11-29-Thursday
(今天的日期)
您可以在本网站和我们的姊妹网站 Unix & Linux 上找到您需要执行的大部分操作的示例代码。互联网上也有大量的代码。
最好是先开始编写脚本,然后当遇到特定代码行的问题时,就此提出问题。我会为你预留一周时间来完成它(只是猜测)。