mv терпит неудачу с целью не является каталогом при использовании даты

Я запускаю этот

sudo mv /etc/mysql/mysql.conf.d/mysqld.cnf /etc/mysql/mysql.conf.d/mysqld.cnf.{,$(date +%Y%m%d%H%M%S)}

Я получаю:

mv: target '/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

, работает ли

какие-либо идеи?

0
задан 18 May 2019 в 01:11

1 ответ

 /etc/mysql/mysql.conf.d/mysqld.cnf.{,$(date +%Y%m%d%H%M%S)}

Это расширяет до двух файлов, так что в общей сложности после выполнения фигурной скобки у вас будет 3 параметра командной строки для команды mv. Проверьте это с помощью echo вместо mv

Когда mv вызывается с 3 или более аргументами, он будет рассматривать все, кроме последнего, как файлы, которые нужно переместить, а последний элемент - как каталог назначения, куда вы хотите переместить вещи. То есть

mv file1 file2 directory

Если ваша цель состоит в том, чтобы переместить только один конкретный файл, расширение фигурной скобки можно опустить и использовать только подстановку команды с командой date

0
ответ дан 18 May 2019 в 01:11

Другие вопросы по тегам:

Похожие вопросы: