【发布时间】:2020-08-30 17:22:17
【问题描述】:
在我们的自动部署管道的gitlab-ci中,我们需要将旧应用程序的所有文件和文件夹移动到同一根目录下的“_backup”文件夹中。
这是我们的方法:
mv /mnt/test.local/* /mnt/test.local/_backup
但错误消息是:
mv: can't rename '/mnt/test.local/favicon.ico': No such file or directory
我认为问题在于我无法将所有文件和文件夹(包括“_backup”文件夹)移动到“_backup”文件夹中。我读到了extglob shell 选项,但是!(_backup) 不起作用,还有其他方法吗?
更新: 我尝试了@Kent 的方法,但不知何故它不起作用。当我在本地测试它时,我收到以下错误,但它可以工作:
$ find ~/Workspace/testingmove/ -mindepth 1 -maxdepth 1 -path ~/Workspace/testingmove/_backup -prune -o -print|xargs -I{} mv {} -t ~/Workspace/testingmove/_backup
mv: rename /Users/wiesenberg/Workspace/testingmove//_backup to /Users/wiesenberg/Workspace/testingmove/_backup/_backup: Invalid argument
mv: rename -t to /Users/wiesenberg/Workspace/testingmove/_backup/-t: No such file or directory
当我在 gitlab-ci 中尝试时,出现以下错误:
$ find /mnt/test.local/ -mindepth 1 -maxdepth 1 -path /mnt/test.local/_backup -prune -o -print|xargs -I{} mv {} -t /mnt/test.local/_backup/
mv: unrecognized option: t
BusyBox v1.31.1 () multi-call binary.
Usage: mv [-fin] SOURCE DEST
or: mv [-fin] SOURCE... DIRECTORY
谢谢, 马克
【问题讨论】:
-
你能做一个
ls -lrth /mnt/test.local/并发布内容吗? -
我在说明中添加了文件夹的屏幕截图。