Невозможно подключиться к vsftp на мягкой фетровой шляпе от filezilla

Что происходит, это то, что Bash впервые расширяется *. DJVU {,. BK} в *. DJVU * .djvu.bk , а затем делает глобус-расширение на тех. Это объяснило бы Что вы наблюдаете: в вашем случае *. DJVU , соответствует существующему файлу, Скажем foo.djvu и расширяется в это, но *. djvu.bk совпадает с файлом, И таким образом расширяется как сама, *. djvu.bk .

Орден расширения указывается в документации Bash:

The order of expansions is: brace expansion, tilde  expansion,  parame‐
ter,  variable  and arithmetic expansion and command substitution (done
in a left-to-right fashion), word splitting, and pathname expansion.

Я бы предложил перезаписывать команду вашей копии как:

for f in *.djvu; do cp -- "$f" "$f".bk; done

или, возможно, чтобы избежать синтаксического накладного расхода явного цикла для цикла:

parallel -j1 cp -- {} {}.bk ::: *.djvu

(по второму мыслям ... Это на самом деле не намного короче.)

Чтобы ответить на ваш под сомнение: «Как его можно расширить», можно использовать подделка (пример в каталоге, содержащий только foo.djvu и BAR.DJVU ):

$ echo $(echo *.djvu){,.bk}
bar.djvu foo.djvu bar.djvu foo.djvu.bk

Но это не так безопасное решение, как и для петли или параллельного вызова над; Это сломается на именах файлов, содержащих белое пространство.

0
05.01.2015, 08:02
1 ответ

Раствор состоял в том, что служба FTP не была на самом деле навсегда добавлена ​​в брандмауэр, просто используя следующую линию

firewall-cmd --permanent --add-service=ftp

и после этого с

firewall-cmd --reload
0
28.01.2020, 04:58

Теги

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