значение переменной цикла равно нулю после подключения по SSH

Вместо того, чтобы создавать очень сложный сценарий для сортировки с учетом регистра, вы можете сделать FTP чувствительным к регистру, поэтому вам не нужно этого делать. Обратитесь к справочной странице LFTP для получения подробной информации об опциях. :Проверьте, действительно ли ваша команда LFTP не имеет флага регистра.

-i, --nocase case-insensitive pattern matching

Вы можете передавать папки так, как имена файлов должны быть допустимы на хосте. Добавление более подробной информации о целевом хосте может помочь.

Также я рекомендую проверить, можете ли вы реализовать это решение на основе расширения файла.

LFTP mget ignoring case

*.[cC][sS][vV]

Я уверен, что у вас тоже нет этой проблемы.

Если по-прежнему требуется наличие сценария. Вы можете создать скрипт Python, используя set.

2
14.02.2020, 06:55
2 ответа

Я заработал, добавив косую черту в переменную цикла,

echo "file: \$i"
0
28.04.2021, 23:23

Это не null, это пустая строка (не то же самое ).

Проблема, с которой вы столкнулись, заключается в том, что переменная рано раскрывается здесь документом(<<). Вам нужно, чтобы он был расширен позже, с помощью ssh. Поэтому избегайте $, чтобы передать его в ssh, поставив перед ним \.

0
28.04.2021, 23:23

Теги

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