首先,我承认我是基于 UNIX 的系统的新手,我目前正在大学学习。
我正在尝试创建一个自动将现有文件备份到现有目录的功能。但是,我在 CLI 中收到一条消息,其中引用了:
cp: cannot create regular file '../Logs/bashmenu.22:52:28-06/12/2016.sh': No such file or directory
Run Code Online (Sandbox Code Playgroud)
我已经做了大量的自我研究,但我找不到解决我的问题的有效方法。
包含该函数的文件的目录路径,我要备份的是:
/Home/Scripts/bashmenu.sh
Run Code Online (Sandbox Code Playgroud)
我要备份到的位置的目录路径是:
/Home/Logs/TARGET
Run Code Online (Sandbox Code Playgroud)
备份文件时,我希望它带有日期戳。所以我使用了几个变量来获取备份时文件的命名约定。我相信这是导致问题的原因。我不知道它是否会导致问题,但是文件和目录都在 USB 上,我只是为它创建了一个类似的目录路径。
这是我的脚本的一部分,我认为有影响的部分:
#### #!/bin/bash
fullname=`basename "$0"`
now=`date +"%H:%M:%S-%d/%m/%Y"`;
backupname="${fullname%.*}"".""$now.sh"
cp -v $fullname ../Logs/$backupname
Run Code Online (Sandbox Code Playgroud)