我运行这个
sudo mv /etc/mysql/mysql.conf.d/mysqld.cnf /etc/mysql/mysql.conf.d/mysqld.cnf.{,$(date +%Y%m%d%H%M%S)}
我得到:
mv:目标'/etc/mysql/mysql.conf.d/mysqld.cnf.20190517170628'不是目录
跑步
sudo mv /etc/mysql/mysql.conf.d/mysqld.cnf /etc/mysql/mysql.conf.d/mysqld.cnf.222
但确实有效
有任何想法吗?
答案1
/etc/mysql/mysql.conf.d/mysqld.cnf.{,$(date +%Y%m%d%H%M%S)}
这会扩展为两个文件,因此一旦执行括号扩展,您将总共获得 3 个 mv 命令的命令行参数。使用 echo 而不是 mv 进行验证
当使用 3 个或更多参数调用 mv 时,它会将除最后一个之外的所有文件视为要移动的文件,并将最后一个项目视为要移动内容的目标目录。也就是说
mv file1 file2 directory
如果您的目标只是移动一个特定的文件,则可以省略花括号扩展,只使用日期命令进行命令替换